2013-04-18 31 views
1

我有兩個數組。
第二個陣列$array2的元素將通過複選框顯示。
我希望這兩個列表的共同元素被標記爲選中,並保持未選中狀態。如何將公共元素標記爲複選框php array

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

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

合併元件成一個陣列'($ ARRAY3)',遍歷'$ array3'然後用'in_array()'兩次,以檢查是否當前元素你上在兩個數組中。 – 1337holiday 2013-04-18 06:47:26

回答

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 />"; 
    } 
} 
3
$common = array_intersect($array1, $array2); 

printf('<input type="checkbox" %s ...>', in_array('a', $common) ? 'checked' : null); 
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>"; 
} 
+0

非常感謝,它的工作。 – 2013-04-18 07:09:26