0

只是想知道以下检查是否设置了$_GETor的最佳实践$_POST

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

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

如果不是,最好的做法是什么?

4

1 回答 1

4

如果你的意思是,它存在并且有一个值,那么,对于字符串

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

同时使用 isset() 和 !empty() 是多余的,你可以只使用 !empty()。确保您了解 empty() 的作用,它经常被误解。

再三考虑,添加类型检查对于一般情况可能是一个好主意,考虑到请求变量也可以是数组。否则可能会导致意外的功能。

if (isset($_GET['foo']) && is_string(($_GET['foo']) && strlen($_GET['foo'])) {   }
于 2012-05-07T00:06:04.660 回答