繁体   English   中英

比较两个数组值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM