检查PHP中是否至少有一个字段不是空的


Check if atleast one field is not empty in PHP

我有这些字段:weight, size_1, size_2, size_3

我如何检查这些字段中至少有一个被填充。

如果小于最小值,则输出"Error, fill one least"

我可以用长if语句做到这一点,检查是否为空,但是它们是更好的方法吗?

这些字段来自于表单提交,因此获取它们的方法如下:

$_POST['weight'];
$_POST['size_1'];
$_POST['size_2'];
$_POST['size_3'];

假设它们都在一个数组中:

function check_for_input($array){
     foreach($array as $value){
           if($value != "") return true;
     }
     return false;
}

像这样使用:

if(check_for_input($_POST)){ /*...*/ }
else { die("Error, fill one at least"); }

使用过滤器更新:

假设它们都在一个数组中:

function check_for_input($array, $filter){
     foreach($array as $key=>$value){
           if($value != "" && in_array($key, $filter)){ 
                return true;
           }
     }
     return false;
}

像这样使用:

$filter = array('weight', 'size_1', 'size_2', 'size_3', /*...*/);
if(check_for_input($_POST, $filter)){ /*...*/ }
else { die("Error, fill one at least"); }