2013-10-30 33 views
0

我: http://www.example.com/index.php?amount=15%252E8

在index.php文件:

$test = $_GET['amount']; 
    echo $test; 

    // Output: 15%2E8 

但我並不需要15%2E8,我需要15.8

$test = $_GET['amount']; 
    $test = urldecode($test); 
    echo $test; 

    //Output: 15.8 

http://us2.php.net/manual/en/function.urldecode.php他們警告:

警告:超全局變量$ _GET和$ _REQUEST已經被解碼。 對$ _GET或$ _REQUEST中的元素使用urldecode()可能會產生 意外且危險的結果。

爲什麼$ _GET [ '量']沒有得到15.8?!

+0

您發送的'金額'值是多少 – Patrick

+0

您的網址示例顯示15%252E8,但您的輸出示例顯示15%2E8。這是一個錯字還是真的從中間的'25'落下? – shanabus

回答

4

15%252E8是「15%2E8」的URL編碼版本。
15%2E8是「15.8」的URL編碼版本。
如果你想要「15.8」,你應該在URL中發送15%2E8

I.e.你在某個地方的URL編碼太多了。