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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
使用php重新实现PHP脚本引擎内置函数
Mar 06 PHP
php 文件上传代码(限制jpg文件)
Jan 05 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
Oct 03 PHP
php添加文章时生成静态HTML文章的实现代码
Feb 17 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
Apr 01 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
Yii框架数据模型的验证规则rules()被执行的方法
Dec 02 PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
Laravel 前端资源配置教程
Oct 18 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求一个网段开始与结束IP地址的方法
2015/07/09 PHP
php实现Session存储到Redis
2015/11/11 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
如何在 ant 的table中实现图片的渲染操作
2020/10/28 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
Python实现采用进度条实时显示处理进度的方法
2017/12/19 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
光电信息专业应届生求职信
2013/10/07 职场文书
电大物流学生的自我评价
2013/10/25 职场文书
销售经理竞聘书
2014/03/31 职场文书
中学生检讨书范文
2014/11/03 职场文书
晚会开幕词
2015/01/28 职场文书
公司搬迁通知
2015/04/20 职场文书
活动经费申请报告
2015/05/15 职场文书
一般纳税人申请报告
2015/05/18 职场文书
居安思危观后感
2015/06/11 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
2019个人年度目标制定攻略!
2019/07/12 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
react如何快速设置文件路径别名
2021/04/28 Javascript