php中的單引號(hào)、雙引號(hào)和轉(zhuǎn)義字符詳解
PHP單引號(hào)及雙引號(hào)均可以修飾字符串類型的數(shù)據(jù),如果修飾的字符串中含有變量(例$name);最大的區(qū)別是: 雙引號(hào)會(huì)替換變量的值,而單引號(hào)會(huì)把它當(dāng)做字符串輸出。
例如:
<?php $name="string"; echo " 字符串" . '$name'; echo "字符串" . "$name"; ?>
結(jié)果:
字符串$name
字符串string
轉(zhuǎn)義字符,顧名思義會(huì)將規(guī)定的語(yǔ)法用"\"來(lái)輸出。但語(yǔ)法規(guī)定在不同的系統(tǒng)中轉(zhuǎn)義字符的作用不同,例如:windows下的回車換行符用"\r"或"\n",而Linux 這兩就有很大的區(qū)別:"\r"光標(biāo)回到行首,但還在本行; "\n"表示下一行,不會(huì)回到行首。
PHP中的轉(zhuǎn)義字符有:
" \n" ==>換行
"\r"==>回車
"\t"==>水平制表符
"\\"==> 反斜杠
"\$" ==>美元符號(hào)
" \' "==>單引號(hào)
" \" " ==>雙引號(hào)
" \[0-7]{1,3} " 正則表達(dá)式匹配一個(gè)八進(jìn)制符號(hào)表示的字符
" \x[0-9A-Fa-f]{1,2} " 正則表達(dá)式匹配一個(gè)十六進(jìn)制符號(hào)表示的字符
在PHP中,可以使用 echo() 和 print() 語(yǔ)句發(fā)送數(shù)據(jù)到Web瀏覽器,也可以使用它們發(fā)送HTML 代碼到Web瀏覽器。從技術(shù)上講,echo() 和 print() 是語(yǔ)言構(gòu)造,而不是函數(shù),這里用了一對(duì)括號(hào),從而有助于與變量以及PHP的其他部分區(qū)分開。這兩個(gè)語(yǔ)句本質(zhì)上沒有什么區(qū)別,因此用那一個(gè)都不會(huì)產(chǎn)生任何問題。這依個(gè)人習(xí)慣。它們不區(qū)分大小字。
在PHP中,理解單引號(hào)與雙引號(hào)有什么區(qū)別是重要的。當(dāng)所發(fā)送的數(shù)據(jù)中涉及到單引號(hào)和雙引號(hào)時(shí),在打印雙引號(hào)時(shí)使用單引號(hào),反之亦然,如:
echo 'She said,"How are you?"'; print "I'm just ducky.";
或者,通過(guò)在有問題的字符前面放置一個(gè)反斜杠,對(duì)它進(jìn)行轉(zhuǎn)義:
echo "She said,\"How are you?\" "; print 'I\'m just ducky.';
在PHP中,封閉在單引號(hào)內(nèi)的值將照字面意義進(jìn)行處理,而封閉在雙引號(hào)內(nèi)的值則將被解釋。換句話說(shuō),把變量和特殊字符(見表1)放在雙引號(hào)內(nèi)將導(dǎo)致打印出它們所表示的值,而不是它們的字面值。如:
$var = 'test';
代碼 echo "var is equal to $var";
將打印出 var is equal to test,而代碼echo 'var is equal to $var';
將打印出var is equal to $var。使用一個(gè)轉(zhuǎn)義的美元符號(hào),代碼echo"\$var is equal to $var";
將打印出$var is equal to test,而代碼echo '\$var is equal to $var';
將打印出\$var is equal to $var。
表1 當(dāng)在雙引號(hào)內(nèi)使用這些字符時(shí),它們具有特殊的含義
轉(zhuǎn)義字符代碼 | 轉(zhuǎn)義字符的含義 |
\ " | 雙引號(hào) |
\ ' | 單引號(hào) |
\ \ | 反斜杠 |
\ n | 換行符 |
\ r | 回車符 |
\ t | 制表符 |
\ $ | 美元符號(hào) |
正如以上例子所說(shuō)明的,雙引號(hào)將用變量的值(test)代替它的名稱($var),并用特殊字符表示的值($)代替它的代碼(\$)。單引號(hào)總是準(zhǔn)確地打印你輸入的內(nèi)容,除了轉(zhuǎn)義的單引號(hào)(\')和轉(zhuǎn)義的反斜杠(\\)之外,它們將分別被打印為一個(gè)單引號(hào)和一個(gè)反斜杠。
提示:
1、由于PHP將試圖找出那些需要將其值插入到雙引號(hào)內(nèi)的變量,所以從理論上講,使用單引號(hào)要快一些。但是,如果需要打印一個(gè)變量的值,則必須使用雙引號(hào)。
2、因?yàn)橛行У腍TML常常包括許多用雙引號(hào)括住的屬性,所以當(dāng)利用PHP打印HTML時(shí),使用單引號(hào)最容易。
echo '<table width="200" border="1" cellspacing="5" cellpadding="2" align="center">';
如果想使用雙引號(hào)打印出上面這段HTML代碼,將不得不對(duì)字符串中的所有雙引號(hào)進(jìn)行轉(zhuǎn)義,所以相對(duì)來(lái)說(shuō)較麻煩。
以上這篇php中的單引號(hào)、雙引號(hào)和轉(zhuǎn)義字符詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
PHP獲取當(dāng)前頁(yè)面URL函數(shù)實(shí)例
這篇文章主要介紹了PHP獲取當(dāng)前頁(yè)面URL函數(shù)實(shí)例,講述了一個(gè)非常簡(jiǎn)單實(shí)用的獲取當(dāng)前頁(yè)面URL的函數(shù),并附帶說(shuō)明了server參數(shù)的用法,需要的朋友可以參考下2014-10-10PHP+MySql+jQuery實(shí)現(xiàn)的"頂"和"踩"投票功能
這篇文章主要為大家詳細(xì)介紹了PHP+MySql+jQuery實(shí)現(xiàn)的"頂"和"踩"投票功能,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2016-05-05關(guān)于ob_get_contents(),ob_end_clean(),ob_start(),的具體用法詳解
本篇文章是對(duì)ob_get_contents(),ob_end_clean(),ob_start(),的具體用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Mac系統(tǒng)下使用brew搭建PHP(LNMP/LAMP)開發(fā)環(huán)境
這篇文章主要介紹了Mac系統(tǒng)下使用brew搭建PHP(LNMP/LAMP)開發(fā)環(huán)境,本文講解了使用Brew手動(dòng)搭建PHP的開發(fā)環(huán)境,包括Apache、Nginx、PHP、MySQL、MongoDB、PHPMyAdmin等配置,需要的朋友可以參考下2015-03-03PHP向socket服務(wù)器收發(fā)數(shù)據(jù)的方法
這篇文章主要介紹了PHP向socket服務(wù)器收發(fā)數(shù)據(jù)的方法,分析了socket收發(fā)數(shù)據(jù)的方法,并介紹了socket常用函數(shù),需要的朋友可以參考下2015-01-01