PHP中單引號和雙引號的區別

codeceo發表於2015-03-04

在PHP中,字串的定義可以使用英文單引號’ ‘,也可以使用英文雙引號” “。

但是必須使用同一種單或雙引號來定義字串,如:’Hello World”和”Hello World’為非法的字串定義。

單引號和雙引號到底有啥區別呢?

PHP允許我們在雙引號串中直接包含字串變數。

而單引號串中的內容總被認為是普通字元,因此單引號中的內容不會被轉義效率更高。

比如:

$str='hello';
echo "str is $str"; //執行結果: str is hello
echo 'str is $str'; //執行結果: str is $str

php中,雙引號中的變數($var)和特殊字元(\r\n之類)會被轉義,單引號中的內容不會被轉義(所以效率更高)。

使用上的話,我以前很喜歡在sql字串裡這樣寫$sql = “SELECT * FROM table WHERE id = $id”,這樣裡面的$id可以被轉義,單引號就不行。

在JavaScript中單引號和雙引號沒有區別,只要成對使用就行。

我在JavaScript 中使用單引號大多是因為 Javascript 和 HTML 打交道比較多,輸出 HTML 片段的時候不需要轉義 HTML 中屬性的引號。
總之,看實際情況來,怎麼方便怎麼使用。

相關文章