1.什么是定界符
定界符從PHP4.0版本開始支持使用,可以用于定義一段格式化的文本,格式化是指文本中的格式將被保留,所以文本中不需要使用定義符。在使用時后接一個標識符,然后是格式化的文本(即字符串),最后使用同樣的標識符結(jié)束字符串,這段格式化的文本也可以為長字符串
2.定界符的作用是什么
因為在PHP編程過程中難免會遇到需要輸出或者拼接很長的html、javascript、xml字符串的情況,如果使用php按字符串拼接輸出的話,肯定需要大量的轉(zhuǎn)義符來對字符串中的引號等特殊字符進行轉(zhuǎn)義,拼接費事費力,而且拼接出來的格式還容易出錯不能被正確使用。所以定界符就出現(xiàn)來幫主我們完成以上的工作,那么定界符可以干什么呢:
按照代碼原樣,包括換行特殊字符等內(nèi)容,原樣輸出;
定界符中的任何特殊字符都不轉(zhuǎn)義;
定界符中的變量會被正常的用其值來替換。
3.如何正確使用定界符
定界符的語法格式如下:
看起來很簡單,但是其中有許多地方需要注意。其中<<<是關(guān)鍵標識,定界符語法。之后的字符EOT是自己定義的,隨便什么都是可以的(比如AAA都可以),但是結(jié)尾處的字符一定要和他一樣,他們是成對出現(xiàn)的,就像標簽的開始和結(jié)束成對出現(xiàn)。
在定界符使用的過程中,第二個需要注意的問題——也是最經(jīng)常出現(xiàn)問題的地方。結(jié)尾的一行(如上例的EOT;),一定要另起一行,并且當前一行除了EOT;這個定界符結(jié)尾標識之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出現(xiàn)空格,制表符的話,你會收到一個這樣的錯誤信息:
Parse error: parse error, unexpected $end in……
第三個需要注意的是,如果在定界符中間出現(xiàn)有PHP的變量,你只需要像在其它字符串中輸出一樣寫就行了,例如:
但是定界符中,無法直接拿去數(shù)組中的字符串信息例如$OPERATINGROOM_NAME = $operationInfo['OPERATINGROOM_NAME']; 無法直接在定界符中使用$operationInfo['OPERATINGROOM_NAME']這種寫法。