1. 程式人生 > >PHP三種字符串界定符的區別(單引號,雙引號,<<<)

PHP三種字符串界定符的區別(單引號,雙引號,<<<)

內部 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;
技術分享圖片

  <<<EOTEOT界定符,他們之間的內容php將會識別為一段大的字符串,相當於""雙引號。對於多行的大文本或html非常有用,並且支持內嵌變量。

  其作用可歸納為3點:

  1.PHP定界符的作用就是按照原樣,包括換行格式什麽的,輸出在其內部的所有東西;

  2.在PHP定界符中的任何特殊字符都不需要轉義,照常書寫;

  3.PHP定界符中的PHP變量會被正常的用其值來替換(php解析嵌套變量)。

  註意事項:

  1.在<<<之後的字符EOT是自己定義的,隨便什麽都是可以的,但是結尾處的字符一定要和他一樣,他們是成對出現的。

  2.以<<<EOT開頭,後面另起新行。 結尾EOT; 單獨占用一行,前後不能有包含空格在內的任何字符。

  3.內嵌的php變量,必要時要用{}括起來是要告訴PHP解析器這是一個PHP變量,例如{$name}來避免產生歧義,其它情況可以不用{}。
  註意:

綜合上述可以看出,單引號執行效率是比後兩種要高。所以在使用過程過應該酌情而定。

PHP三種字符串界定符的區別(單引號,雙引號,<<<)