PHP定界符是从PHP4.0版本开始支持的。那有的新手朋友可能会问PHP定界符是什么呢?有什么作用?
其实定界符就是用于定义格式化的大文本,而格式化则是指文本中的格式将被保留,所以文本中不需使用转义字符。在使用时后接一个标识符,然后是格式化文本(即字符串),最后是同样的标识符结束字符串。
PHP中有两种定界符:heredoc(双引号定界符)和nowdoc(单引号定界符)
下面我们结合简单的代码示例,为大家详细介绍下关于PHP定界符的相关知识。
一、heredoc
heredoc语法格式:
$str=<<<"ABC" …… ABC; echo $str; ?>
注:这里的ABC(定界符)可以自由定义,放在双引号中或者不加引号,并且定界符后面不能有任何字符串(包括空格)。
heredoc使用代码示例:
<?php // heredoc 和双引号的作用几乎一样 $name = "PHP中文网"; $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;
这里我们在定界符中随意写一个form代码,效果如下图:
如图使用heredoc格式的定界符可以解析变量等任何内容,并且不需要加任何转义符。
二、nowdoc
nowdoc 语法格式:
$str=<<<'ABC' …… ABC; echo $str; ?>
注:这里的ABC(定界符)可以自由定义,必须放在单引号中,同样定界符后面不能有任何字符串(包括空格)。
nowdoc使用代码示例如下:
<?php // nowdoc 和单引号的作用几乎一样 $name = "PHP中文网"; $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中文网PHP视频教程,欢迎大家参考学习!
Atas ialah kandungan terperinci PHP定界符是什么?有什么作用?(图文+视频). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!