Сравнить 2 массива отметив совпадение

266
03 марта 2018, 21:41

Добрый день. Подскажите, мне нужно вывести один массив в виде checkbox, отметив те флажки, значения которых есть во втором массиве.

Есть массивы

$prop = Array
(
    [values] => Array
        (
            [0] => Пластиковые окна
            [1] => Натяжные потолки
            [2] => Установка дверей
            [3] => Укладка ламината
            [4] => Оклейка обоев
        )
)
$option_key = Array
(
    [0] => Натяжные потолки
    [1] => Оклейка обоев
    [2] => Пластиковые окна
);

Нужно вывести в виде флажков массив $prop, но при этом те значения, что есть в массиве $option_key отметить.

Пытался так, он мне все отмечает:

foreach ($prop as $k => $v) {
    foreach ($v as $values) {
        print "<label><input";
        if (isset($prop[$k])) {
            print " checked "; 
        }
        print "type='checkbox' name='$k'> $values</label>";
        }
}
Answer 1

как то так?

foreach($prop as $k => $p){
   $checked = in_array($p, $option_key) ? "checked" : "";
   echo "<label><input type='checkbox' name='$k' $checked>$p</label>";
}
READ ALSO
VS Code и PHP 5.6

VS Code и PHP 5.6

Возможно ли нормально настроить VS Code для работы с PHP 56? Сколько ни пытался - ничего не выходит

315
Внезапно вылезла ошибка #3 Application does not have the capability to make this API call

Внезапно вылезла ошибка #3 Application does not have the capability to make this API call

С помощью api facebook получаю данные в базу с помощью крона , первого марта вылезла данная ошибка , грешил на токен но он долгосрочный и не просроченный,...

268
json php вывести по датам

json php вывести по датам

есть json массив, как мне вывести значения в таком порядке:

305