我知道我可以使用
检查超全球$ _POST是否为空empty / isset
但是,我这里有很多字段。是否有任何快捷方式可以检查是否所有字段都已填满?而不是做
if (!empty($_POST['a']) || !empty($_POST['b']) || !empty($_POST['c']) || !empty($_POST['d']).... ad nauseum)
提前致谢!
答案 0 :(得分:7)
您可以使用array_filter并比较两个计数
if(count(array_filter($_POST))!=count($_POST)){
echo "Something is empty";
}
答案 1 :(得分:5)
您可以遍历$ _POST变量。
例如:
$messages=array();
foreach($_POST as $key => $value){
if(empty($value))
$messages[] = "Hey you forgot to fill this field: $key";
}
print_r($messages);
答案 2 :(得分:2)
这是我刚刚撰写的可能有用的功能。
如果您传递的任何参数为空,则返回false。如果不是,它将返回真实。
function multi_empty() {
foreach(func_get_args() as $value) {
if (!isset($value) || empty($value)) return false;
}
return true;
}
实施例
multi_empty("hello","world",1234); //Returns true
multi_empty("hello","world",'',1234); //Returns false
multi_empty("hello","world",1234,$notset,"test","any amount of arguments"); //Returns false
答案 3 :(得分:2)
您可以使用foreach()
循环检查每个$_POST
值:
foreach ($_POST as $val) {
if(empty($val)) echo 'You have not filled up all the inputs';
}