这是一个非常愚蠢的问题。我不知道我是怎么得到这个但我得到的。 我有一个数组,我希望将数组值与来自while循环的复选框匹配。那么它是如何实现的。
//Array that i want to match with checkbox
$filter = explode(',', $getproduct->specification_filter);
<table class="table" style="background-color: white;">
<tbody>
<?php
while($fch = $allfilter->fetch_array()){
?>
<tr>
<th><?=$fch[2]?></th>
<?php
$sqlbv="SELECT * FROM product_filter where idd='$fch[4]'";
$resultbv=$conn->query($sqlbv);
while($rowbv = $resultbv->fetch_array()){
?>
<td>
<label class="ckbox ckbox-danger">
<input type="checkbox" value="<?=$rowbv[0]?>" name="pfilter[]">
<span> <?=$rowbv[3]?></span>
</label>
</td>
<?php } ?>
</tr>
<?php } ?>
</tbody>
</table>
现在我想检查复选框字段,如果$filter
数组值与复选框值匹配。那我怎么能这样做呢?
答案 0 :(得分:4)
因为您的$filter
是数组使用in_array
<input type="checkbox" value="<?=$rowbv[0]?>" <?= in_array($rowbv[0], $filter)? 'checked':'' ?> name="pfilter[]">
有关详细信息,请参阅in_array。
答案 1 :(得分:0)
只需使用in_array()来检查这一点。如果是真的并标记为已检查。
<input type="checkbox" value="<?=$rowbv[0]?>" name="pfilter[]" <?php echo in_array($rowbv[0],$filter) ? 'checked="checked"' : '';?>>
希望这可以帮到你。
答案 2 :(得分:0)
在输入复选框中,您可以检查添加属性'已'。
为此,你可以写
< input type="checkbox" < ?=($rowbv[0] ? 'checked' : '')?> name="pfilter[]"/>
否则
< input type="checkbox" < ?php echo $rowbv[0] ? 'checked' : '';?> name="pfilter[]"/>