我有两个数组。
第二个数组的元素$array2
将通过复选框显示。
我希望将两个列表的共同元素标记为已选中,而其余部分未选中。
$array1 = array("a", "b");
$array2 = array("a", "b", "c", "d");
$common = array_intersect($array1, $array2);
printf('<input type="checkbox" %s ...>', in_array('a', $common) ? 'checked' : null);
您可以在array2 上使用循环,然后在array1 中搜索,如果存在则标记复选框。例子:
foreach ($array2 as $key => $value) {
if (array_search($value,$array1) !== FALSE) {
//$array2 element $value found in $array1
echo "<input type='checkbox' name='$value' checked />";
}
}
foreach ($array2 as $value) {
echo (array_search($value,$array1) !== FALSE) ? "<input type='checkbox' name='$value' checked /> $value </br>" : "<input type='checkbox' name='$value' /> $value </br>";
}