編程語言中的標點符號可不是像我們說話一樣可以隨便加別人也知道你要說什麼,但是電腦就不一樣了,使用不當就會造成錯誤會給你造成很大麻煩,PHP中的單引號和雙引號的使用是新手們經常遇到的問題,本文詳解兩者區別,希望對新手有幫助!
在PHP中,通常一個字符串被定義在一對引號中,如:
'I am a string in single quotes'
"I am a string in double quotes"
PHP語法分析器是用成對的引號來判斷一個字符串的。因此,所有字符串必須使用同一種單或者雙
引號來定義開始和結束。例如,下面的字串定義是不合法的:
"I am not a valid string since I have unmatching quote marks'
'Me neither!"
定義字符串時,只有一種引號被視為定義符,即單引號或雙引號。於是,如果一個字符串由雙引
號開始,那麼只有雙引號被分析器解析。這樣,你就可以在雙引號串中包含任何其他字符,甚至單引
號。下面的引號串都是合法的: www.2cto.com
$s = "I am a 'single q上面的這個例子企圖在雙引號串中包含雙引號,而分析器在遇到第二個雙引號時便認為字符串結
束了。要達到包含引號的目的,必須分析器在遇到串內普通引號的時候忽略它的原意,我們在引號的
前面加上一個反斜槓來告訴PHP:這個引號是字符串的一部分,正確的表示方法是這樣:
"Why doesn't \"that\" work?"
在英文字符串中一個常見的問題是撇號'的使用,因為它就是一個單引號,而在英文串中十分常見
(英文所有格)。你必須小心處理這些字符:
'You\'d better escape your a post rophes'
可以看到反斜槓在字符串中有他的特殊含義,當我們需要在字符串中包含反斜槓本身時,需要在
該符號前面多加一個反斜槓。例如:
$file = "c:\ windows \system.ini";
echo $file; // 打印結果為: c: windows system.ini
$file = "c:\\windows\\system.ini";
echo $file; // 打印結果為: c:\windows\system.ini
uote string' inside a double quote string";
$s = 'I am a "double quote string" inside a single quote string';