【发布时间】:2016-05-19 02:12:26
【问题描述】:
当in_array 函数为真时,我需要选中复选框。循环运行良好,但它会检查所有复选框 bool 是真还是假。
$pixArr
Array(
[12] => Array
(
[imgFile] => IMG_7516.JPG
[imgTime] => 11:39
)
[13] => Array
(
[imgFile] => IMG_7515.JPG
[imgTime] => 11:39
)
)
$dTime
Array(
[0] => 11-26-50
[1] => 11-26-50
[2] => 11-39-43
[3] => 11-39-43
[4] => 14-35-38
)
$fTime=11-26-50
foreach($pixArr as $key=>$val){
if(in_array($fTime,$dTime)){
echo "<input type=\"checkbox\" name=\"file[]\" value=\"$val[imgFile]\" checked/> Select</label>";
}else{
echo "<input type=\"checkbox\" name=\"file[]\" value=\"$val[imgFile]\"/> Select</label>";
}
}
我希望输入检查 11-26-50 的时间。因为事实证明in_array 是真的。但它会检查循环中的每个输入。我不明白为什么。
【问题讨论】:
-
这是因为该值每次都在数组中,而不管我们循环的是什么
-
codeHeart 是对的。您迭代 $pixArr,但只检查 $fTime 和 $dTime,它们不会改变。我想您必须改为检查 $val['imgTime'] 吗?但是你必须调整使用的时间格式
-
我认为如果您提供有关该问题的一些背景知识,给出答案会更容易,现在我们不知道什么是 dtime 或 ftime 以及您想要实现什么.正如弗朗茨所说,这也可以是一个解决方案