我有这些字段: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"); }