分析PHP中單雙引號(hào)的誤區(qū)和雙引號(hào)小隱患
許多程序員以為在PHP中單引號(hào)和雙引號(hào)是一樣的,其實(shí)這要看怎么用法,在有些方面它們確實(shí)是一樣,但有一些方面它們也有著很大的區(qū)別,今天小編就來為您說說有哪些區(qū)別。
1、一般情況下兩者是通用的.但如果雙引號(hào)內(nèi)寫的是變量就會(huì)執(zhí)行解析操作,而單引號(hào)則不解析,這個(gè)怎么說?還是舉個(gè)例子吧。

這下看明白了吧!
2、執(zhí)行效率不一樣,單引號(hào)的執(zhí)行速度要比雙引號(hào)的執(zhí)行速度快,如果是一樣大型的程序,這方面還是要注意優(yōu)化的,畢竟PHP屬于解釋型語言。所以如果內(nèi)部只有純字符串的時(shí)候,用單引號(hào)(速度快),內(nèi)部有別的東西(如變量)的時(shí)候,用雙號(hào)引會(huì)更靈活些。
PHP雙引號(hào)小隱患
PHP很多語法特性會(huì)讓攻擊者有機(jī)可乘,例如PHP會(huì)檢測(cè)雙引號(hào)中的變量。
執(zhí)行如下代碼:
function test()
{
echo "abc";
}
echo "${@test()}";
//或者
echo ${@phpinfo()};
原理如下:
$a = 'b'; $b = 'a'; echo $$a; //a
以上就利用了PHP可變變量,雙引號(hào){}可解析雙引號(hào)內(nèi)的變量?jī)?nèi)容特性制造出來的小麻煩。 大家看懂了嗎?這些誤區(qū)和小隱患程序員們?cè)谄綍r(shí)要多多注意了。
相關(guān)文章
php實(shí)現(xiàn)百度云加速API及SDK封裝
這篇文章主要為大家介紹了php實(shí)現(xiàn)百度云加速API及SDK封裝的示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Windows下PHP開發(fā)環(huán)境搭建教程(Apache+PHP+MySQL)
這篇文章主要為大家詳細(xì)介紹了Windows下PHP開發(fā)環(huán)境搭建教程:Apache+PHP+MySQL,具有一定的實(shí)用性和參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06
PHP源代碼數(shù)組統(tǒng)計(jì)count分析
偶然在百度知道中看到有個(gè)同學(xué)問起count及strlen的效率問題,好吧這個(gè)問題我當(dāng)初沒理解透徹,認(rèn)為其不屬兩個(gè)不一樣的東西不可比較,后來看了樓主的回復(fù)才反應(yīng)過來,所以自己也去找了下源碼查看下?,F(xiàn)在總結(jié)下查看到的結(jié)果并記錄之。2011-08-08
php 結(jié)果集的分頁實(shí)現(xiàn)代碼
php結(jié)果集的分頁,后面都有詳細(xì)的說明。最近的php將會(huì)讓你學(xué)到更多。2009-03-03
PhpStorm+xdebug+postman調(diào)試技巧分享
寫PHP時(shí),一直用postman做測(cè)試,最近發(fā)現(xiàn)在測(cè)試過程中可以用xdebug來斷點(diǎn)調(diào)試,比原來手動(dòng)打exit或者die來斷點(diǎn)效率高多了2020-09-09

