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和js交互一例-PHP教程,PHP应用
Jan 03 PHP
php addslashes和mysql_real_escape_string
Jan 24 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
memcache命令启动参数中文解释
Jan 13 PHP
php反射应用示例
Feb 25 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
Apr 08 PHP
php验证邮箱和ip地址最简单方法汇总
Oct 30 PHP
PHP下载远程图片并保存到本地方法总结
Jan 22 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
Mar 21 PHP
php json_encode与json_decode详解及实例
Dec 13 PHP
PHP中overload与override的区别
Feb 13 PHP
Laravel中服务提供者和门面模式的入门介绍
Nov 06 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读取IMAP邮件
2006/10/09 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
Laravel5中Cookie的使用详解
2017/05/03 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
Prototype Object对象 学习
2009/07/12 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
简易js代码实现计算器操作
2013/04/15 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
vue2.0获取自定义属性的值
2017/03/28 Javascript
PHP7新特性简述
2017/06/11 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
JavaScript选择排序算法原理与实现方法示例
2018/08/06 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
Python timeit模块原理及使用方法
2020/10/10 Python
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
澳大利亚领先的女性运动服品牌:Lorna Jane
2020/06/19 全球购物
大学校庆策划书
2014/01/31 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
一年级数学上册复习计划
2015/01/17 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书