分析PHP中單雙引號的誤區(qū)和雙引號小隱患
許多程序員以為在PHP中單引號和雙引號是一樣的,其實這要看怎么用法,在有些方面它們確實是一樣,但有一些方面它們也有著很大的區(qū)別,今天小編就來為您說說有哪些區(qū)別。
1、一般情況下兩者是通用的.但如果雙引號內(nèi)寫的是變量就會執(zhí)行解析操作,而單引號則不解析,這個怎么說?還是舉個例子吧。
這下看明白了吧!
2、執(zhí)行效率不一樣,單引號的執(zhí)行速度要比雙引號的執(zhí)行速度快,如果是一樣大型的程序,這方面還是要注意優(yōu)化的,畢竟PHP屬于解釋型語言。所以如果內(nèi)部只有純字符串的時候,用單引號(速度快),內(nèi)部有別的東西(如變量)的時候,用雙號引會更靈活些。
PHP雙引號小隱患
PHP很多語法特性會讓攻擊者有機可乘,例如PHP會檢測雙引號中的變量。
執(zhí)行如下代碼:
function test() { echo "abc"; } echo "${@test()}"; //或者 echo ${@phpinfo()};
原理如下:
$a = 'b'; $b = 'a'; echo $$a; //a
以上就利用了PHP可變變量,雙引號{}可解析雙引號內(nèi)的變量內(nèi)容特性制造出來的小麻煩。 大家看懂了嗎?這些誤區(qū)和小隱患程序員們在平時要多多注意了。
相關(guān)文章
PHP實現(xiàn)根據(jù)瀏覽器跳轉(zhuǎn)不同語言頁面代碼
以下是對使用PHP實現(xiàn)根據(jù)瀏覽器跳轉(zhuǎn)不同語言頁面的代碼進行了介紹,需要的朋友可以過來參考下2013-08-08PHP實現(xiàn)將textarea的值根據(jù)回車換行拆分至數(shù)組
這篇文章主要介紹了PHP實現(xiàn)將textarea的值根據(jù)回車換行拆分至數(shù)組,涉及表單元素及explode拆分字符串的相關(guān)技巧,需要的朋友可以參考下2015-06-06