[英]Comparing two array values
我有一种形式,可以用来作废,撤销,修改和更正引用。 无效不能与解雇,修改或更正相结合。 如果需要作废和修改,请填写两种形式。 但是,您可以在同一表格上进行解雇,修改和/或更正。 我有两个基于表单中的变量创建的数组。 一个数组具有void部分中的变量,另一个数组具有所有其他变量。
我正在尝试创建将空白与所有其他空白进行比较的规则。 我希望能够检查是否有任何空变量为!=“”,而其他任何变量为!=“”,然后给出错误消息。
if($_POST[$all_other_fields] !== "" && $_POST[$void_fields] !== "")
{
$all_ok = false;
$citation_error_msg = "Blah, Blah Blah";
}
我不经意间说,两个数组中的所有变量都必须!=“”。 我想说的是,即使来自两个数组的一个变量都没有!=“”,然后出现错误消息。
我不确定如何进行比较。
因此,您是说如果填写空白字段,如果有人填写其他部分会引发错误? 我可能将表单重组为分页表单,您可以在其中询问用户希望执行的操作,然后向他们展示特定的表单。 表单上有多余的字段只会使用户感到困惑。
无论如何,如果您坚持当前的表单设计,则需要具有一组空字段名,以检查$ _POST。 就像是:
$vf_flag=false;
$void_fields=array('vf1','vf2','vf3');
foreach($void_fields as $vf) {
if(!isset($_POST[$vf])) continue;
$vf_flag=true;
break; //only need one error
}
$nonvf_flag=false;
//do the same as above except with a non_voidfields array()
if($nonvf_flag && $vf_flag) $citation_msg='blah blah blah';
这是一种冗长的方法,但是很简单。 您也可以使用array_filter()
和回调array_filter()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.