1

我有两个数组。
第二个数组的元素$array2将通过复选框显示。
我希望将两个列表的共同元素标记为已选中,而其余部分未选中。

$array1 = array("a", "b");

$array2 = array("a", "b", "c", "d");
4

3 回答 3

3
$common = array_intersect($array1, $array2);

printf('<input type="checkbox" %s ...>', in_array('a', $common) ? 'checked' : null);
于 2013-04-18T06:50:34.597 回答
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 />";
  }
}
于 2013-04-18T06:49:44.847 回答
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>";
}
于 2013-04-18T07:00:17.060 回答