程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 分析PHP中單雙引號的誤區和雙引號小隱患

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

編輯:PHP綜合

許多程序員以為在PHP中單引號和雙引號是一樣的,其實這要看怎麼用法,在有些方面它們確實是一樣,但有一些方面它們也有著很大的區別,今天小編就來為您說說有哪些區別。

1、一般情況下兩者是通用的.但如果雙引號內寫的是變量就會執行解析操作,而單引號則不解析,這個怎麼說?還是舉個例子吧。

這下看明白了吧!

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

PHP雙引號小隱患

PHP很多語法特性會讓攻擊者有機可乘,例如PHP會檢測雙引號中的變量。

執行如下代碼:

function test()
{
 echo "abc";
}
echo "${@test()}";
 
//或者

 echo ${@phpinfo()};

原理如下:

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

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved