首頁  >  文章  >  後端開發  >  php 中單雙引號 花括號詳解

php 中單雙引號 花括號詳解

巴扎黑
巴扎黑原創
2016-11-12 11:10:091432瀏覽

php總結

基礎總結  一:  關於php中單引號 雙引號 花括號 問題總結 
在php 中 字串可以用 單引號  也可以用雙引號  引起來表示,輸出等。 
例如: 

Php代碼  

<?php   
     echo  "aabbcc";      
     echo &#39;aabbcc&#39;;  
?>

他們的輸出是相同的。都會印出  aabbcc 
但是 如果將aabbcc 賦值給一個變量,那麼它又該如何輸出呢? 

Php代碼  

<?php   
$a = "aabbcc";//或者$a=&#39;aabbcc&#39;;  
echo $a;  
echo "$a"; //在这里你会发现 他们的输出都是 aabbcc  
//如果是输出并且回车呢  
echo $a."\n";  
echo "$a\n";   
//这两种方式都是可以的。输出都是aabbcc  为什么呢,  
  
?>

是因為「」雙引號 在php中有解釋的功能,它會去解釋這個字符串  如果字符串中有變量或轉義字符  它會一併解釋了 在進行輸出 。而單引號沒有解釋功能,也就是說,當你echo '$a'; 或echo 'n'; 它只會當作字符串輸出  $a  n  並不會輸出你所想要的解釋好的變量或者轉移字元。 
什麼是解釋功能? 其實這只是,如果你用雙引號輸出字串的時候,系統會去正規的匹配$符號,從而識別變數。轉義字符也是。 。 。 
針對上面轉義那一塊的情況還有一種情況。我們分別輸出'  單引號和  雙引號「  

Php代碼  

echo &#39;\&#39;&#39;;  
echo "&#39;"; //双引号括住单引号,避免了再去用\ 转义  
  
echo "\"";  
echo &#39;"&#39;;  //针对双引号,单引号有了避免了转义的操作。

所以,透過上面的解釋,我們可以認定為,當我們只是輸出字串的時候,不存在需要解釋的東西的時候,我們應該直接用''  單引號  這樣可以省略一個解釋的過程, 在運行速度上雖然看不到明顯的提升,但是原理上運行效率是高於用雙引號的。可以用「」 雙引號。獲得到的是$resbbbb   , 
         因為zend解析的時候用的是正則匹配。那麼系統正規就會一直匹配。 」; 這句話就會運作正常,只不過輸出的字串中多了一個空格。 
筆者  不想要多餘的這個空格呢? 

      那麼就用第三步的代碼  echo "aaa{$res}bbbb" ; 

      這樣寫,zend解析的時候,同樣是正則找到兩個花括號。 {}中的字符會再此使用正常雙引號的正則匹配。花括號中是{aaa   $res} 呢?即: echo "aaa{ggg $res}bbbb";   也就是  花括號中不只是變數  或不是變數。雙引號的正規去解析查找變數。 。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn