php中定界符的作用:
在编程过程中难免会遇到用echo来输出大段的html
和javascript脚本的情况,如果用传统的输出方法
——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,以免出现语法错误。如果是一两处还可以容忍,但是要是一个完整的
html文本或者是一个200行的js我想是谁都会崩溃的。这就是PHP为什么要引入一个定界符的原因——至少一大部分原因是这样的。1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
2.在PHP定界符中的任何特殊字符都不需要转义;
3.PHP定界符中的PHP变量会被正常的用其值来替换。
$name =
"test";
echo
<<
hello {$name}!
Eof;
?>
看起来很简单,但是其中有许多地方需要注意:
1.在<<
2.结尾的一行(如上例的Eof;),一定要另起
一行,并且改行除了Eof;这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出现空格,制表符的话,你会收到
一个这样的错误信息:Parse error: parse error, unexpected $end
in……,提示你语法错误;
3.如果在定界符中间出现有PHP的变量,你只需要像在其它字符串中输出一样写就行了.
变量$name之所以要用{}括起来是要告诉PHP解析器这是一个PHP变量,其实不用也是可以的,但是有可能会产生歧义,例如你的变量后面刚好不是一字母或者特殊符号什么的会怎么样呢?