定界符是用来定义格式化的大文本,就是保留文本中原本的格式,所以文章中可以不使用转义字符(\),通常用来从文件或者数据库中大段的输出文档。
PHP中有两种定界符:heredoc(双引号定界符)和nowdoc(单引号定界符)
一 heredoc(双引号定界符)
heredoc语法格式

*这里的abcd(定界符)可以自由定义,放在双引号内,也可以不加双引号。abcd后(右引号后)不可再接任何字符串(包括空格)。
heredoc代码示例

效果如下:


使用heredoc可以解析变量,且不需要输入转义字符。(此处\n在html中为空格,源码中为换行)
二 nowdoc(单引号定界符)
nowdoc语法格式

*这里的abcd(定界符)同样可以自由定义,但必须放在单引号中,同样在abcd后(右引号后)不可再接任何字符串(包括空格)。
nowdoc代码示例

效果如下


可以发现,nowdock不会解析变量$title,连\n也不会在页面中解析为空格。
由此可以推断,PHP是将程序嵌入到HTML中,那么把定界符比喻成一把锁,定界符锁的就是程序中的源码,保留住源码原来的格式,单引号定界符不能解析“\”,所以源码中的\n保留,页面也会出现\n。双引号定界符能解析“\”,所以源码换行,页面呈现空格。
(该文章是我对于定界符的个人理解,如果有误,欢迎各位大佬指正)
本文介绍了PHP中的heredoc和nowdoc定界符,展示了它们在格式化文本和处理变量方面的区别,将定界符比喻为锁保护源码格式。
2万+

被折叠的 条评论
为什么被折叠?



