我有一个数组,其中包含如下值:
$items_pool = Array (
[0] => Array ( [id] => 1 [quantity] => 1 )
[1] => Array ( [id] => 2 [quantity] => 1 )
[2] => Array ( [id] => 72 [quantity] => 6 )
[3] => Array ( [id] => 4 [quantity] => 1 )
[4] => Array ( [id] => 5 [quantity] => 1 )
[5] => Array ( [id] => 7 [quantity] => 1 )
[6] => Array ( [id] => 8 [quantity] => 1 )
[7] => Array ( [id] => 9 [quantity] => 1 )
[8] => Array ( [id] => 19 [quantity] => 1 )
[9] => Array ( [id] => 20 [quantity] => 1 )
[10] => Array ( [id] => 22 [quantity] => 1 )
[11] => Array ( [id] => 29 [quantity] => 0 )
)
接下来,我有一个要填充的表单。它遍历项目数据库,打印出所有可能的项目,并检查 $items_pool 中已经存在的项目。
<?php foreach ($items['items_poolpackage']->result() as $item): ?>
<input type="checkbox" name="measure[<?=$item->id?>][checkmark]" value="<?=$item->id?>">
<?php endforeach; ?>
我知道我想在这里完成什么逻辑,但我无法弄清楚编程。
我正在寻找的,写得松散的是这样的(不是真正的代码):
<input type="checkbox" name="measure[<?=$item->id?>][checkmark]" value="<?=$item->id?>" <?php if ($items_pool['$item->id']) { echo "SELECTED"; } else { }?>>
具体来说,此条件循环遍历数组,遍历所有键值(ID),如果匹配,则选中复选框。
<?php if ($items_pool['$item->id']) { echo "SELECTED"; } else { }?>
我从这样的循环结构中了解到,这可能意味着大量的“额外”处理。
TL;DR - 我需要在数组中循环,检查键“id”,然后打印一个字符串。