如何从两个数组中“检查”匹配的日期

时间:2016-03-12 02:15:55

标签: php array-intersect

我需要通过检查数据库中的复选框和周数组来匹配这一天。这是我的资源:

$平日

$weekDay=array("1"=>"Mon","2"=>"Tue","3"=>"Wed","4"=>"Thu","5"=>"Fri","6"=>"Sat","7"=>"Sun");

$ opDay

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 )

所以我写道:

foreach($weekDay as $key=>$val){
$inDay = array_intersect($weekDay,$opDays);        
echo "<label><input type=\"checkbox\" name=\"exc_opd[]\" value=\"{$key}\" ".(($inDay)? '"checked"':" " )."/>&nbsp;{$val}</label>&nbsp;";                    
}

根据功能,我希望与$opDay匹配的复选框为checked。循环将继续使用未选中的框。

1 个答案:

答案 0 :(得分:0)

最后,我想出了这个解决方案。可能不是最好的,但它正在发挥作用。对我的任何建议都将不胜感激。

foreach($weekDay as $key=>$val){
$inDay = array_intersect_key($weekDay,array_flip($opDays));        
if($inDay[$key]){
    echo "<label><input type=\"checkbox\" name=\"exc_opd[]\" value=\"{$key}\" checked/>&nbsp;$val</label>&nbsp;";       
}else{
    echo "<label><input type=\"checkbox\" name=\"exc_opd[]\" value=\"{$key}\"/>&nbsp;$val</label>&nbsp;";       
    }
}