@exxagw

Как выполнить foreach по двум массивам?

Есть 2 массива
$array = array("test", "test2", "test3","test4","test5","test6","test7");
$array2 = array("test","test3","test4");
$result = array_intersect($array,$array2);
print_r($result);


Как по ним выполнить поиск? Сейчас print выведет все записи $array2 в $array1, т.е.
Array (
 [0] => test
 [2] => test3 
 [3] => test4
 )


А мне нужно что-то в этом духе
foreach(magic){
echo '<label><input type="checkbox" '.$checked.'value="'.$val.'">'.$val.'</label>';
}

Где $checked будет равно чему либо, при условии что запись $array2 = $array1
  • Вопрос задан
  • 2849 просмотров
Решения вопроса 1
@krypt3r
foreach ($array as $i => $val)
{
    echo '<label><input type="checkbox" ' . (in_array ($val, $array2) ? $checked : '') . ' value="'.$val.'">'.$val.'</label>';
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Jaty4
@Jaty4
$array = array("test", "test2", "test3","test4","test5","test6","test7");
$array2 = array("test","test3","test4");

foreach($array2 as $val){
    if(in_array($val, $array1)){
        echo '<label><input type="checkbox" '.$checked.'value="'.$val.'">'.$val.'</label>';
    }
}
Ответ написан
Комментировать
nazarpc
@nazarpc
Open Source enthusiast
Переформулируйте вопрос, не понятно что вам нужно. На всякий случай посмотрите функцию array_map(), может я понял чего-то правильно, и она вам подойдет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы