在php中,存在一种定义字符串的方法,这就是heredoc;它可以在在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)之中去定义。
首先我们来看一个小小的栗子。
<?php $name="runoob"; $a= <<<EOF "abc"$name "123" EOF; // 结束需要独立一行且前后不能空格 echo $a; ?>
我们看这段代码,好像“$a=
”后面的代码十分奇特啊,居然使用了“<<<
”,而且它还有两个一样的EOF单词,这是什么呢?这又有什么意思呢?
在PHP中,如果我们想在命令行shell里或是在程序语言定义字符串,我们有一个特定的格式,就是.以<<<EOF
开始标记开始,以EOF
结束标记结束。
我们了解了heredoc,那我们去看看使用heredoc的方法吧。
1. 必须在EOF结束标记后接分号,否则编译通不过。
2. 只要保证结束标识与开始标识一致,开始标记和结束标记可以用任意其它字符代替。
3. 结束标记必须占据顶部网格中的一行(它必须从行首开始,后面不能有任何空格和字符)。
4.开始标识符可以没有引号,也可以有单引号和双引号。不带引号的效果与带双引号的效果相同。解释嵌入变量和转义符号。对于单引号,嵌入变量和转义符号不会被解释。
5.当内容需要嵌入引号(单引号或双引号)时,不需要添加转义符。内容本身避开了单引号和双引号,这等同于Q和QQ的用法。
知道了那么多使用heredoc的方法之后,我们去看看注意事项吧,避免我们写出来的代码无法使用啊,或是出现其他的问题。
1.以<<<EOF开始标签开始,以EOF结束标签结束。结束标记必须写在开头,没有缩进和空格,并且结束标记的结尾必须有分号。
2.开始标记与结束标记相同,例如大写的EOT、EOD和EOF,但不限于那些(JSON、HTML等),只要开始标记和结束标记不出现在正文中。
3.开始标签和结束标签之间的变量可以正常解析,但函数不能。在heredoc中,变量不需要用连接符.
或,
来将它们连接到一起,就想我们上面例子里的“"abc"$name
”一样。
就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
以上就是heredoc是什么?它能为PHP做什么?的详细内容,更多请关注自由互联其它相关文章!