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 相关文章推荐
Email+URL的判断和自动转换函数
Oct 09 PHP
PHP 字符串正则替换函数preg_replace使用说明
Jul 15 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
Aug 23 PHP
PHP中使用addslashes函数转义的安全性原理分析
Nov 03 PHP
smarty模板引擎基础知识入门
Mar 30 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
Mar 21 PHP
微信小程序 消息推送php服务器验证实例详解
Mar 30 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
Apr 18 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
Jun 12 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+MYSQL的文章管理系统(一)
2006/10/09 PHP
超级简单的发送邮件程序
2006/10/09 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
轻轻松松学JS调试(不下载任何工具)
2010/04/14 Javascript
通过js简单实现将一个文本内容转译成加密文本
2013/10/22 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
JS实现浏览器状态栏文字闪烁效果的方法
2015/10/27 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
2016/05/25 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
2017/08/22 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
对python生成业务报表的实例详解
2019/02/03 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
CSS3 边框效果
2019/11/04 HTML / CSS
初中校园广播稿
2014/02/02 职场文书
趣味比赛活动方案
2014/02/15 职场文书
书香校园建设方案
2014/05/02 职场文书
演讲开场白和结束语
2015/05/29 职场文书
病假证明模板
2015/06/19 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
各国货币符号大全
2022/02/17 杂记
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS