PHP中nowdoc和heredoc使用需要注意的一点


Posted in PHP onMarch 21, 2014

最后发现了问题所在,原来这类文档在结束时,一定要靠近行的第一位,就是说EOF前面不能有空格,而为了代码缩进,正好产生了这样的问题.

$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;//EOD一定要靠近前面,不能有空格,同时不要漏掉结束符分号;

附:heredoc和nowdoc的区别

heredoc使用 <<< EOT 的标示符,而nowdoc使用 <<< 'EOT' 这样的标示符,其中nowdoc是PHP5.3引进的新技术,它包含了heredoc的语法,只是其中的内容绝对不会进行任何的转义和解释,是什么内容就是什么内容,不会解析PHP相关的内容
heredoc中的PHP变量建议使用{$name->change()} 大括号括起来,这样可以避免一定的歧义,如果要原样输出可以使用传说中的转义字符 \ ,转义字符本身可以使用转义字符进行输出,即 \ 这种表示方法,大括号之类的这些都需要转义输出。
为了保证的确可用,建议使用 heredoc 的语法,本身也带有转义,因为PHP5.3才引进的nowdoc语法,很多云托管坏境很有可能不支持导致歇菜。
最后强调下,heredoc是从PHP4.0开始引进的,而nowdoc语法则需要5.3版本,因为heredoc包含了nowdoc的功能,所以个人建议还是使用heredoc比较好些。

简单来说:
1、heredoc是动态的 nowdoc是静态的
2、heredoc类似多行的双引号 newdoc类似多行的单引号
3、heredoc是一种专门处理大段字符串的通用处理方案,而nowdoc是php为了弥补动态实现“heredoc”的效率问题而实现的“高效率”的静态版本

PHP 相关文章推荐
php-accelerator网站加速PHP缓冲的方法
Jul 30 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
PHP 多维数组排序(usort,uasort)
Jun 30 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
优化PHP程序的方法小结
Feb 23 PHP
PHP Directory 函数的详解
Mar 07 PHP
php通过function_exists检测函数是否存在的方法
Mar 18 PHP
PHP设计模式之适配器模式代码实例
May 11 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 PHP
PHP+iframe图片上传实现即时刷新效果
Nov 18 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
php获取表单中多个同名input元素的值
Mar 20 #PHP
php中的静态变量的基本用法
Mar 20 #PHP
php遍历文件夹下的所有文件和子文件夹示例
Mar 20 #PHP
php数据库备份还原类分享
Mar 20 #PHP
PHP实现微信公众平台音乐点播
Mar 20 #PHP
一个PHP针对数字的加密解密类
Mar 20 #PHP
php的array数组和使用实例简明教程(容易理解)
Mar 20 #PHP
You might like
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
2011/01/08 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
js特效,页面下雪的小例子
2013/06/17 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
js实现分割上传大文件
2016/03/09 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
2016/08/01 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
对Python中9种生成新对象的方法总结
2018/05/23 Python
Python做智能家居温湿度报警系统
2018/09/25 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
python retrying模块的使用方法详解
2019/09/25 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
HTML文本属性&amp;颜色控制属性的实现
2019/12/17 HTML / CSS
Oracle的内存结构(Memory structures)
2015/06/10 面试题
北京某公司的.net笔试题
2014/03/20 面试题
教师党员个人自我评价
2015/03/04 职场文书
银行中层干部培训心得体会
2016/01/11 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python