關于php中單引號與雙引號區別有那些很,至于大家都說的下面我用我的理解來說說關于單引號與雙引號的區別所在吧,單引號在其中間的變量是不被執行的,把變量當成了一個普通的字符串,而雙引號php會去解析中間有變量沒有,有的話解析變量,這樣雙引號在一些方法更費服務器資源.
單引號和雙引號大體相同,但有一點非常重要,就是變量引用問題,你把下面代碼運行即可明白了,代碼如下:
- <?php
- $x="中國";
- echo "我是$x人";//雙引號
- echo "<br />";
- echo '我是$x人';//單引號
- ?>
變量用雙引號括起來,單引號中的則不是(即單引號中的變量符號不解析),單引號內部的變量不會執行,雙引號會執行,代碼如下:
$name = 'hello';echo "the $name";,會輸出 the hello,而如果是單引號,代碼如下:
$name = 'hello';echo 'the $name';會輸出 the $name,主要區別就是這個,在字符串中引用復雜的變量組合時,可能會產生一些問題,下面的代碼會正常工作:
echo "value = $foo"; echo "value = $a[$i]";
而下面的代碼卻不能得到我們希望的結果:
echo "value = $a[$i][$j]"; //我們希望打印二維數組$a的某個元素.
為避免這些字串使用中的潛在問題,我們通常把復雜的變量從字串中分離開來,就像這樣:
echo 'value = ' . $a[$i][$j];
還有一種辦法是將復雜變量用花括號括起來,語法分析器就能正確辨認了:
echo "value = {$a[$i][$j]}" //打印二維數組$a的某個元素
這樣,又出現新問題了,當我們想在字串中引用花括號字符本身時,就要記得使用轉義符了:
- $var = 3;
- echo "value = {$var}"; // 打印結果 "value = 3"
- echo "value = {$var}"; // 打印結果 "value = {3}"
看個實例,代碼如下:
- $var1 = "chris mao"; //assign the value "chirs mao" to $var1
- $var2 = &$var1; //reference $var1 via $var2
- echo '<b>the value of $var2 is: </b>', $var2, "<br>"; //$var2 and $var1 have the same value "chris mao"
- $var2 = 'my name is $var2'; //modify $var2, the sametime $var1 was modified
- echo '<b>the value of $var1 is: </b>', $var1, "<br>"; //the value of $var1 is "my name is $var2"
- $var2 = "my new name is $var1"; //modify $var2, the sametime $var1 was modified
- echo '<b>the value of $var2 is: </b>', $var2, "<br>"; //the value of $var1 is "my new name is my name is $var2"
- echo '<b>the value of $var1 is: </b>', $var1, "<br>"; //the value of $var1 is "my new name is my name is $var2"
新聞熱點
疑難解答