php中的单引号、双引号和转义字符
PHP單引號及雙引號均可以修飾字符串類型的數(shù)據(jù),如果修飾的字符串中含有變量(例$name);最大的區(qū)別是: 雙引號會替換變量的值,而單引號會把它當做字符串輸出。
例如:
<?php
???????? $name="string";
??????? echo? "?字符串" . '$name';
??????? echo?? "字符串" .? "$name";?
?>
結(jié)果:
???????? 字符串$name
???????? 字符串string
?
?
轉(zhuǎn)義字符,顧名思義會將規(guī)定的語法用"\"來輸出。但語法規(guī)定在不同的系統(tǒng)中轉(zhuǎn)義字符的作用不同,例如:windows下的回車換行符用"\r"或"\n",而Linux 這兩就有很大的區(qū)別:"\r"光標回到行首,但還在本行; "\n"表示下一行,不會回到行首。
PHP中的轉(zhuǎn)義字符有:???????
??????????????????????????????????????????? " \n"?==>換行???????????????
????????????????????????????????????????? ???"\r"==>回車???????????
???????????????????????????????????????????? "\t"==>水平制表符???????
????????????????????????????????????????? ???"\\"==> 反斜杠
??????????????????????????? ????????????? ? "\$" ==>美元符號????
????????????????????????????????????????? ??? " \' "==>單引號?????
????????????????????????????????????????????? " \" "?==>雙引號?
??????????????????????????????????????????????"?\[0-7]{1,3}??"??????????? 正則表達式匹配一個八進制符號表示的字符
?????????????????????????????????????????????" \x[0-9A-Fa-f]{1,2}?"??? 正則表達式匹配一個十六進制符號表示的字符
?
?
?
在PHP中,可以使用 echo() 和 print() 語句發(fā)送數(shù)據(jù)到Web瀏覽器,也可以使用它們發(fā)送HTML 代碼到Web瀏覽器。從技術(shù)上講,echo()?和 print() 是語言構(gòu)造,而不是函數(shù),這里用了一對括號,從而有助于與變量以及PHP的其他部分區(qū)分開。這兩個語句本質(zhì)上沒有什么區(qū)別,因此用那一個都不會產(chǎn)生任何問題。這依個人習慣。它們不區(qū)分大小字。
在PHP中,理解單引號與雙引號有什么區(qū)別是重要的。當所發(fā)送的數(shù)據(jù)中涉及到單引號和雙引號時,在打印雙引號時使用單引號,反之亦然,如:
echo?'She said,"How are you?"';?
print "I'm just ducky.";
或者,通過在有問題的字符前面放置一個反斜杠,對它進行轉(zhuǎn)義:
echo "She said,\"How are you?\" ";
print 'I\'m just ducky.';
在PHP中,封閉在單引號內(nèi)的值將照字面意義進行處理,而封閉在雙引號內(nèi)的值則將被解釋。換句話說,把變量和特殊字符(見表1)放在雙引號內(nèi)將導致打印出它們所表示的值,而不是它們的字面值。如:
$var = 'test';
代碼echo "var is equal to $var"; 將打印出 var is equal to test,而代碼echo 'var is equal to $var'; 將打印出var is equal to $var。使用一個轉(zhuǎn)義的美元符號,代碼echo"\$var is equal to $var"; 將打印出$var is equal to test,而代碼echo '\$var is equal to $var'; 將打印出\$var is equal to $var。
表1 當在雙引號內(nèi)使用這些字符時,它們具有特殊的含義
?
?
| 轉(zhuǎn)義字符代碼 | 轉(zhuǎn)義字符的含義 |
| \ " | 雙引號 |
| \ ' | 單引號 |
| \ \ | 反斜杠 |
| \ n | 換行符 |
| \ r | 回車符 |
| \ t | 制表符 |
| \ $ | 美元符號 |
?
?
正如以上例子所說明的,雙引號將用變量的值(test)代替它的名稱($var),并用特殊字符表示的值($)代替它的代碼(\$)。單引號總是準確地打印你輸入的內(nèi)容,除了轉(zhuǎn)義的單引號(\')和轉(zhuǎn)義的反斜杠(\\)之外,它們將分別被打印為一個單引號和一個反斜杠。
提示:
1、由于PHP將試圖找出那些需要將其值插入到雙引號內(nèi)的變量,所以從理論上講,使用單引號要快一些。但是,如果需要打印一個變量的值,則必須使用雙引號。
2、因為有效的HTML常常包括許多用雙引號括住的屬性,所以當利用PHP打印HTML時,使用單引號最容易。
echo '<table width="200" border="1" cellspacing="5" cellpadding="2" align="center">';
如果想使用雙引號打印出上面這段HTML代碼,將不得不對字符串中的所有雙引號進行轉(zhuǎn)義,所以相對來說較麻煩。
?
總結(jié)
以上是生活随笔為你收集整理的php中的单引号、双引号和转义字符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。