如果数组中的任何字段不为空,则显示消息 - PHP / [POST]表单

时间:2015-01-28 15:50:11

标签: php arrays forms post

我有一个包含25个以上字段的表单。如果数组中的任何字段都不为空,我想显示一条消息。

$customfields = array('q1', 'q2', 'q3', 'q4', 'q5', 'q6', 'q7', 'q8', 'q9', 'q10', 'q11', 'q12', 'q13', 'q14', 'q15', 'q16', 'q17', 'q18', 'q19', 'q20', 'q21', 'q22', 'q23', 'q24');

我已经查看类似的SO问题,以验证所有字段都不是空的,即:

$error = false;
foreach($customfields as $field) {
  if (empty($_POST[$field])) {
    $error = true;
  }
}

if ($error) {
  echo "Here's an awesome message!";
} else {
  echo "None for you, Glen Coco.";
}

如何相反 - 如果数组中的任何一个或多个字段不为空,则显示一条消息?

提前致谢!

2 个答案:

答案 0 :(得分:1)

我想你想看一下NOT运算符。

你可以这样写:

if (!empty($_POST[$field])) {
  //^ See here the NOT operator
    $error = true;
}

有关详细信息,请参阅手册:http://php.net/manual/en/language.operators.logical.php

答案 1 :(得分:0)

if

中进行相反的比较
$error = false;
foreach($customfields as $field) {
  if (!empty($_POST[$field])) {
    $error = true;
    break; // get out of foreach loop
  }
}