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

2021-06-26 18:20:07 字數 1073 閱讀 6475

php把單引號中的資料視為普通字串,不再處理。
而雙引號還要對其中的字串進行處理,比如遇到$了會把其後的內容視為變數。即:單引號裡面的 $變數名 不被替換。

雙引號裡面的 $變數名 會被替換。

例如:$name = 'hello';

echo "the $name";

會輸出 the hello

而如果是單引號

$name = 'hello';

echo 'the $name';

會輸出 the $name

定義字串時,只有一種引號被視為定義符,即單引號或雙引號。於是,如果乙個字串由雙引號開始,那麼只有雙引號被分析器解析。這樣,你就可以在雙引號串中包含任何其他字元,甚至單引號。下面的引號串都是合法的:
$s

= "i am a 'single quote string' inside a double quote string"

; $s

= 'i am a "double quote string" inside a single quote string'

;

下面的句子是不合法的:

$str

="why doesn't "

this

" work?";

因為在字串的開頭和結尾是雙引號,所以裡面不能再直接寫雙引號,如果要在裡面顯示雙引號,則必須通過使用轉義字元將字串中的引號作為字串的一部分。但是在裡面顯示單引號,那可以隨便寫。

就會被解析成一下三部分:

"why doesn't "——包含乙個單引號的雙引號串

this——多餘的字元,分析器無法處理

" work?" ——普通字串

那麼我們怎麼解決這個問題呢?可以通過使用轉義字元將字串中的引號作為字串的一部分。正確的表示方法是這樣:

$str=

"why doesn't\"this\"work?"

PHP單引號和雙引號區別

雙引號裡面的字段會經過編譯器解釋,然後再當作html 輸出。單引號裡面的不進行解釋,直接輸出。從字面意思上就可以看出,單引號比雙引號要快了。例如 abc my name is tome echo abc 結果是 my name is tom echo abc 結果是 abc echo abc 結果是...

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

關於單引號和雙引號的區別和效率問題。很多朋友了解的不是很清楚,一直以為php中單引號和雙引號是互通的,直到有一天,發現單引號和雙引號出現錯誤的時候才去學習研究。所以今天再拿出來談談他們的區別,希望大家不要再為此困惑。雙引號裡面的字段會經過編譯器解釋,然後再當作html 輸出。單引號裡面的不進行解釋,...

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

php中的單引號和雙引號在很多時候都是互通的,但是也存在區別 其中的內容不會經過解釋 n不會輸出為換行,而是直接輸出 即內容會與輸入的內容一致,例如 a 123 echo a is a 其輸出內容為 a is a雙引號中的內容將會被解釋,即解析內容中的變數,例如 a 123 echo a is a ...