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

Posted

技术标签:

【中文标题】如何从两个数组集中“检查”匹配的日期【英文标题】:How to 'checked' the matched day from two array set 【发布时间】:2016-03-12 02:15:54 【问题描述】:

我需要通过选中数据库中的复选框与星期数组来匹配日期。这是我的资源:

$weekDay

$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】:

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

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;";       
    

【讨论】:

以上是关于如何从两个数组集中“检查”匹配的日期的主要内容,如果未能解决你的问题,请参考以下文章

Oracle查询计算与日期数组完全相同的匹配

如何检查字符串是不是匹配某种日期格式?? JAVA [重复]

根据日期检查来自同一表的记录,其中包含多行中的不匹配值

Java中使用正则检查有效日期

检查数组中的最后一个元素是不是匹配条件

如何检查字符串是不是匹配数组中的正则表达式之一?