單引號,雙引號,<<<的區別如下:
前續:今天突然遇到了<<<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}來避免產生歧義,其它情況可以不用{}。
注意:
綜合上述可以看出,單引號執行效率是比后兩種要高。所以在使用過程過應該酌情而定。
參考文章:
http://www.oschina.net/question/234345_42240
http://www.chinaz.com/program/2009/0216/67050.shtml
http://blog.csdn.net/zollty/article/details/6614655