PHP isset:这是多余的吗?

Pen*_*gun 0 php forms isset

提交表单后,我总是检查表单是否正确isset,然后检查是否所有字段都是isset

这是我的php代码:

if(isset($_POST)) {
  if(isset($_POST['username'], $_POST['password'])) {
    // process
  }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我的第一次检查isset是表单本身是否已提交,然后再次检查每个表单input是否isset或如果我使用的时刻

if(isset($_POST)) { }

它会实际检查该表单中的字段吗?

我希望你事先得到我的意见.

Pav*_*rba 8

好吧,$_POST总是设置,所以不需要第一个语句.只检查是否设置了特定字段.

编辑:如评论中所述,isset()如果设置了某个变量,则仅提供信息,而不是它是否具有某些值.empty()可以告诉你,如果你有东西.

编辑2:为了确定是否empty()会在未定义的POST字段上注意到您,请尝试以下操作:

error_reporting(E_ALL);
var_dump(empty($_POST['undefined']));
Run Code Online (Sandbox Code Playgroud)

您将看到它也empty()适用于未定义的索引.

  • 更好地使用`empty()` (2认同)