检查所有$ _POST字段是否在php中填充的快捷方式

时间:2016-02-27 02:32:32

标签: php

我知道我可以使用

检查超全球$ _POST是否为空
empty / isset

但是,我这里有很多字段。是否有任何快捷方式可以检查是否所有字段都已填满?而不是做

if (!empty($_POST['a']) || !empty($_POST['b']) || !empty($_POST['c']) || !empty($_POST['d']).... ad nauseum)

提前致谢!

4 个答案:

答案 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';
}