其实定界符就是用于定义格式化的大文本,而格式化则是指文本中的格式将被保留,所以文本中不需使用转义字符。在使用时后接一个标识符,然后是格式化文本(即字符串),最后是同样的标识符结束字符串。
PHP中有两种定界符:heredoc(双引号定界符)和Nowdoc(单引号定界符)
下面我们结合简单的代码示例,为大家详细介绍下关于PHP定界符的相关知识。
一、heredoc
heredoc语法格式:
$str=<<<ABC …… ABC; echo $str; ?>
注:这里的ABC(定界符)可以自由定义,放在双引号中或者不加引号,并且定界符后面不能有任何字符串(包括空格)。
heredoc使用代码示例:
<?PHP // heredoc 和双引号的作用几乎一样 $name = 编程之家; $str1 = <<<Here <h1>$name</h1> <form action=upload.PHP method=get> <input type=checkBox name=like value=篮球>篮球<br> <input type=checkBox name=like value=足球>足球<br> <input type=checkBox name=like value=排球>排球<br> <input type=checkBox name=like value=乒乓球>乒乓球<br> <input type=submit value=确定> </form> <script>...</script> Here;
如图使用heredoc格式的定界符可以解析变量等任何内容,并且不需要加任何转义符。
二、Nowdoc
Nowdoc 语法格式:
$str=<<<'ABC' …… ABC; echo $str; ?>
注:这里的ABC(定界符)可以自由定义,必须放在单引号中,同样定界符后面不能有任何字符串(包括空格)。
<?PHP // Nowdoc 和单引号的作用几乎一样 $name = 编程之家; $str2 = <<<'Now' <h1>$name</h1> <form action='upload.PHP' method=get> <input type=checkBox name=like value=篮球>篮球<br> <input type=checkBox name=like value=足球>足球<br> <input type=checkBox name=like value=排球>排球<br> <input type=checkBox name=like value=乒乓球>乒乓球<br> <input type=submit value=确定> </form> Now; echo $str2;
同样我们通过浏览器访问,效果如下图:
我们从图中可以发现,使用Nowdoc格式的定界符,不能解析变量$name,但是也不需要加任何转义符。
当然除了这里的heredoc和Nowdoc方式,还有我们传统的输出方式,就是直接输出单引号和双引号里的字符串。这样的话肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,以免出现语法错误。
所以综上所述,当我们在PHP中需要输出大量的html文本或者js脚本时,PHP定界符就有很大的优势,因为在PHP定界符中的任何特殊字符都不需要转义并且PHP变量也会被正常的用其值来替换。
本篇文章就是关于PHP定界符的相关知识详解,希望对需要的的朋友有所帮助!
想要了解更多PHP知识,大家可以关注编程之家PHP教程,欢迎大家参考学习!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。