P粉3110892792023-08-19 10:28:34
雙引號中的內容會被解析,而單引號中的內容不會被解析:
$s = "dollars"; echo 'This costs a lot of $s.'; // This costs a lot of $s. echo "This costs a lot of $s."; // This costs a lot of dollars.
P粉7416783852023-08-19 00:19:38
PHP字串不僅可以用兩種方式指定,還可以用四種方式。
\'
進行轉義,要顯示一個反斜杠,可以用另一個反斜杠\\
進行轉義(所以,是的,即使是單引號字串也會被解析)。 $type
,你想要echo "The $types are"
。這將會尋找變數$types
。要解決這個問題,使用echo "The {$type}s are"
。查看字串解析以了解如何使用陣列變數等。 <<<
開始。在這個運算符之後,提供一個標識符,然後是一個換行符。然後是字串本身,然後再次使用相同的標識符來關閉引用。在這種語法中,你不需要轉義引號。 <<<
序列來標識,但後面的標識符用單引號括起來,例如<<<'EOT'
。 Nowdoc中不進行解析。 注意: 單引號內的單引號和雙引號內的雙引號必須進行轉義:
$string = 'He said "What\'s up?"'; $string = "He said \"What's up?\"";
速度:
沒有區別。
請閱讀一篇來自PHP核心開發者的可信任文章。說到測試,我們永遠不應該將其視為理所當然。必須理解編寫可信測試以及解釋其結果需要很多知識和經驗。這意味著大多數測試都是虛假的。例如,在像這樣的程式碼中
for($i=0;$i<100000;$i++) { 'string'; }
引號字串只被解析一次,與整個腳本一起,然後轉換為操作碼。然後執行一百萬次。因此,它測量的不是解析。這只是冰山一角。對於像這樣的奈米基準測試,幾乎不可能創建一個不會被某些幹擾副作用破壞的可信測試。