PHP三種字符串界定符的區別(單引號,雙引號,<<<)
阿新 • • 發佈:2019-02-15
內部 name 大文本 head strong gpo HERE 區別 ech
單引號,雙引號,<<<的區別如下:
前續:今天突然遇到了<<<EOT,可在運行的時候出錯了,所以就度娘了下。
1、單引號:’a string’
\’是唯一的轉義碼,不能內嵌變量(包含的變量,是不作解析的,只是照原樣輸出)。
2、雙引號: ”a $better string\n”
標準的轉義碼能正常使用,可內嵌變量(包含的變量,PHP會解析)。
3、“Here-doc” 語法: PHP界定符
1 $a=1; 2 echo <<<EOT 3 <script language="JavaScript" type="text/JavaScript"> 4 var a = $a; 5 alert(a); 6 </script> 7 EOT;
<<<EOT 和EOT是界定符,他們之間的內容php將會識別為一段大的字符串,相當於""雙引號。對於多行的大文本或html非常有用,並且支持內嵌變量。
其作用可歸納為3點:
1.PHP定界符的作用就是按照原樣,包括換行格式什麽的,輸出在其內部的所有東西;
2.在PHP定界符中的任何特殊字符都不需要轉義,照常書寫;
3.PHP定界符中的PHP變量會被正常的用其值來替換(php解析嵌套變量)。
註意事項:
1.在<<<之後的字符EOT是自己定義的,隨便什麽都是可以的,但是結尾處的字符一定要和他一樣,他們是成對出現的。
2.以<<<EOT開頭,後面另起新行。 結尾EOT; 單獨占用一行,前後不能有包含空格在內的任何字符。
3.內嵌的php變量,必要時要用{}括起來是要告訴PHP解析器這是一個PHP變量,例如{$name}來避免產生歧義,其它情況可以不用{}。
註意:
綜合上述可以看出,單引號執行效率是比後兩種要高。所以在使用過程過應該酌情而定。
PHP三種字符串界定符的區別(單引號,雙引號,<<<)