1.什么是定界符
定界符从PHP4.0版本开始支持使用,可以用于定义一段格式化的文本,格式化是指文本中的格式将被保留,所以文本中不需要使用定义符。在使用时后接一个标识符,然后是格式化的文本(即字符串),最后使用同样的标识符结束字符串,这段格式化的文本也可以为长字符串
2.定界符的作用是什么
因为在PHP编程过程中难免会遇到需要输出或者拼接很长的html、javascript、xml字符串的情况,如果使用php按字符串拼接输出的话,肯定需要大量的转义符来对字符串中的引号等特殊字符进行转义,拼接费事费力,而且拼接出来的格式还容易出错不能被正确使用。所以定界符就出现来帮主我们完成以上的工作,那么定界符可以干什么呢:
按照代码原样,包括换行特殊字符等内容,原样输出;
定界符中的任何特殊字符都不转义;
定界符中的变量会被正常的用其值来替换。
3.如何正确使用定界符
定界符的语法格式如下:
看起来很简单,但是其中有许多地方需要注意。其中<<<是关键标识,定界符语法。之后的字符EOT是自己定义的,随便什么都是可以的(比如AAA都可以),但是结尾处的字符一定要和他一样,他们是成对出现的,就像标签的开始和结束成对出现。
在定界符使用的过程中,第二个需要注意的问题——也是最经常出现问题的地方。结尾的一行(如上例的EOT;),一定要另起一行,并且当前一行除了EOT;这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出现空格,制表符的话,你会收到一个这样的错误信息:
Parse error: parse error, unexpected $end in……
第三个需要注意的是,如果在定界符中间出现有PHP的变量,你只需要像在其它字符串中输出一样写就行了,例如:
但是定界符中,无法直接拿去数组中的字符串信息例如$OPERATINGROOM_NAME = $operationInfo['OPERATINGROOM_NAME']; 无法直接在定界符中使用$operationInfo['OPERATINGROOM_NAME']这种写法。