在PHP中,字符串的定義能夠使用英文單引號' '
,也能夠使用英文雙引號" "
。php
可是必須使用同一種單或雙引號來定義字符串,如:'Hello World"
和"Hello World'
爲非法的字符串定義。sql
單引號和雙引號到底有啥區別呢?spa
PHP容許咱們在雙引號串中直接包含字串變量
。code
而單引號串中的內容總被認爲是普通字符,所以單引號中的內容不會被轉義效率更高。ip
好比:字符串
$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 中屬性的引號。總之,看實際狀況來用啦,怎麼方便怎麼使用。