最佳实践检查 GET 或 POST 是设置的,而不是 PHP5 中的 empencey


Best practice check GET or POST is set and not empety in PHP5

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

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

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

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

if (isset($_GET['foo']) && strlen($_GET['foo'])) {   }
同时使用 isset() 和 !empty()

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

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

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