2012-05-07 32 views
0

想知道以下最佳做法是檢查$_GET還是$_POST已設置?最佳做法檢查GET或POST已設置,而不是PHP5中的標題

if(isset($_GET['input']) && !empty($_GET['input'])) 

if(isset($_POST['input']) && !empty($_POST['input'])) 

如果不是,最佳做法是什麼?

+1

這很好。 –

+0

取決於用例權利?對於很多東西,根本不需要檢查。 –

回答

4

如果你的意思是,它存在並具有價值,那麼,對於同時使用isset()函數和!空()是多餘的,你可以只使用字符串

if (isset($_GET['foo']) && strlen($_GET['foo'])) { } 

!空()。確保你瞭解empty()的作用,它經常被誤解。

第二個想法是,考慮到請求變量也可以是數組,所以添加類型檢查對於一般情況可能是個好主意。否則可能會導致意外的功能。

if (isset($_GET['foo']) && is_string(($_GET['foo']) && strlen($_GET['foo'])) { } 
+3

[PHP的權威指南isset and empty](http://kunststube.net/isset/) – deceze

+0

它是多餘的? 'empty()'可以返回true,而'isset()'不會。 – ccKep

+1

什麼時候$ _POST? – Bruce

相關問題