我有两个数组。
第二个数组$array2
的元素将通过复选框显示。
我希望两个列表的公共元素都标记为已选中并且剩余未选中状态。
$array1 = array("a", "b");
$array2 = array("a", "b", "c", "d");
答案 0 :(得分:3)
$common = array_intersect($array1, $array2);
printf('<input type="checkbox" %s ...>', in_array('a', $common) ? 'checked' : null);
答案 1 :(得分:0)
您可以在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 />";
}
}
答案 2 :(得分:0)
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>";
}