分析PHP中單雙引號的誤區和雙引號小隱患

一、通常狀況下二者是通用的.但若是雙引號內寫的是變量就會執行解析操做,而單引號則不解析,這個怎麼說?仍是舉個例子吧。php

 

這下看明白了吧!程序員

二、執行效率不同,單引號的執行速度要比雙引號的執行速度快,若是是同樣大型的程序,這方面仍是要注意優化的,畢竟PHP屬於解釋型語言。因此若是內部只有純字符串的時候,用單引號(速度快),內部有別的東西(如變量)的時候,用雙號引會更靈活些。優化

PHP雙引號小隱患code

PHP不少語法特性會讓攻擊者有隙可乘,例如PHP會檢測雙引號中的變量。blog

執行以下代碼:字符串

function test()
{
 echo "abc";
}
echo "${@test()}";
  
//或者
 
 echo <a href="mailto:${@phpinfo()}">${@phpinfo()}</a>;

原理以下:io

$a = 'b';
$b = 'a';
  
echo $$a; //a

以上就利用了PHP可變變量,雙引號{}可解析雙引號內的變量內容特性製造出來的小麻煩。 你們看懂了嗎?這些誤區和小隱患程序員們在平時要多多注意了。function

相關文章
相關標籤/搜索