編碼的世界 / 優質文選 / 文明

php中的單引號、雙引號和轉義字符


2021年10月02日
-   

PHP單引號及雙引號均可以修飾字符串類型的數據,如果修飾的字符串中含有變量(例$name);最大的區別是: 雙引號會替換變量的值,而單引號會把它當做字符串輸出。例如:<?php         $name="string";        echo  " 字符串" . '$name';        echo   "字符串" .  "$name"; ?>結果:
         字符串$name         字符串string 
 
轉義字符,顧名思義會將規定的語法用""來輸出。但語法規定在不同的系統中轉義字符的作用不同,例如:windows下的回車換行符用"
"或"
",而Linux 這兩就有很大的區別:"
"光標回到行首,但還在本行; "
"表示下一行,不會回到行首。
PHP中的轉義字符有:                                                   "
" ==>換行               
                                             "
"==>回車           
                                             " "==>水平制表符                                                    "\"==> 反斜杠                                            "$" ==>美元符號                                                  " ' "==>單引號                                                   " " " ==>雙引號                                               " [0-7]{1,3}  "            正則表達式匹配一個八進制符號表示的字符                                             " x[0-9A-Fa-f]{1,2} "    正則表達式匹配一個十六進制符號表示的字符 
 
 
在PHP中,可以使用 echo() 和 print() 語句發送數據到Web瀏覽器,也可以使用它們發送HTML 代碼到Web瀏覽器。從技術上講,echo() 和 print() 是語言構造,而不是函數,這裏用了一對括號,從而有助於與變量以及PHP的其他部分區分開。這兩個語句本質上沒有什麼區別,因此用那一個都不會產生任何問題。這依個人習慣。它們不區分大小字。
在PHP中,理解單引號與雙引號有什麼區別是重要的。當所發送的數據中涉及到單引號和雙引號時,在打印雙引號時使用單引號,反之亦然,如:
echo 'She said,"How are you?"'
print "I'm just ducky.";
或者,通過在有問題的字符前面放置一個反斜杠,對它進行轉義:
echo "She said,"How are you?" ";
print 'I'm just ducky.';
在PHP中,封閉在單引號內的值將照字面意義進行處理,而封閉在雙引號內的值則將被解釋。換句話說,把變量和特殊字符(見表1)放在雙引號內將導致打印出它們所表示的值,而不是它們的字面值。如:
$var = 'test';
代碼echo "var is equal to $var"; 將打印出 var is equal to test,而代碼echo 'var is equal to $var'; 將打印出var is equal to $var。使用一個轉義的美元符號,代碼echo"$var is equal to $var"; 將打印出$var is equal to test,而代碼echo '$var is equal to $var'; 將打印出$var is equal to $var。
表1 當在雙引號內使用這些字符時,它們具有特殊的含義  
 
轉義字符代碼轉義字符的含義
"雙引號
'單引號
反斜杠
n換行符
r回車符
t制表符
$美元符號

 
 
正如以上例子所說明的,雙引號將用變量的值(test)代替它的名稱($var),並用特殊字符表示的值($)代替它的代碼($)。單引號總是准確地打印你輸入的內容,除了轉義的單引號(')和轉義的反斜杠(\)之外,它們將分別被打印為一個單引號和一個反斜杠。
提示: 1、由於PHP將試圖找出那些需要將其值插入到雙引號內的變量,所以從理論上講,使用單引號要快一些。但是,如果需要打印一個變量的值,則必須使用雙引號。 2、因為有效的HTML常常包括許多用雙引號括住的屬性,所以當利用PHP打印HTML時,使用單引號最容易。
echo '<table width="200" border="1" cellspacing="5" cellpadding="2" align="center">';
如果想使用雙引號打印出上面這段HTML代碼,將不得不對字符串中的所有雙引號進行轉義,所以相對來說較麻煩。
 

熱門文章