J'ai 2 tableaux PHP, que voici :
$adAreas :
$areas :Array
(
[0] => Array
(
[adArea_area_id] => 1
)
[1] => Array
(
[adArea_area_id] => 2
)
)
Dans une boucle sur le tableau $areas, je cherche à savoir si la valeur de la cellule [area_id] est présente dans la colonne [adArea_area_id] du tableau $adAreas (dans n'importe quelle ligne, peut importe).Array
(
[0] => Array
(
[area_id] => 1
[area_name] => Home
)
[1] => Array
(
[area_id] => 2
[area_name] => Espace Perso
)
[2] => Array
(
[area_id] => 3
[area_name] => Création de compte
)
[3] => Array
(
[area_id] => 4
[area_name] => Achats
)
[4] => Array
(
[area_id] => 5
[area_name] => Création d'annonce
)
[5] => Array
(
[area_id] => 6
[area_name] => Affichage d'annonce
)
[6] => Array
(
[area_id] => 7
[area_name] => Recherche
)
[7] => Array
(
[area_id] => 8
[area_name] => Pages classiques
)
)
J'ai donc fouiller la doc, et je suis tombé sur in_array(), qui semble bien convenir. Je teste donc un
foreach($areas as $key => $area) {
if(in_array($area['area_id'], $adAreas)) {
$checked = 'checked="checked"';
}
else
$checked = '';
echo '<td width="20%"><input type="checkbox" name="ad_areas[]" value="'.$area['area_id'].'" style="vertical-align:middle;" '.$checked.' /> '.$area['area_name'].'</td>';
if($count % 4 == 0)
echo "</tr>\n</tr>";
$count++;
} Hélas, je remarque que le if() n'est jamais vrai, car aucune de mes checkbox n'est cochée, alors que la 1ère et la 2eme devrait l'être.Une erreur dans mon code ? Ou alors ai-je mal compris in_array() ?