PHP - Как отфильтровать массивы по конкретному значению
Хочу отфильтровать массивы. Помогите пожалуйста разобраться.
Есть такой массив, который выводится с помощью переменной - $Myitems
Array
(
[0] => Array
(
[name] => Pencil
[color] => Blue
[material] => Wood
[size] => XL
)
[1] => Array
(
[name] => Pen
[color] => Red
[material] => Plastic
[size] => XXL
)
[2] => Array
(
[name] => Pencil
[color] => Green
[material] => Wood
[size] => L
)
[3] => Array
(
[name] => Pen
[color] => Blue
[material] => Plastic
[size] => M
)
)
Мне нужно сделать так чтобы выводились только те массивы, в которых есть значение "Blue". Чтобы по итогу я получил это:
Array
(
[0] => Array
(
[name] => Pencil
[color] => Blue
[material] => Wood
[size] => XL
)
[1] => Array
(
[name] => Pen
[color] => Blue
[material] => Plastic
[size] => M
)
)
Сюда стараюсь обращаться только в крайнем случае и он настал. Перелопатил кучу статей, но даже близко не могу найти как это решить. Возможно я не правильно строю поисковые запросы. Помогите пожалуйста это решить.
Ответы (1 шт):
Автор решения: Alines
→ Ссылка
В итоге это задача была решена так:
$make = 'Blue'; //Значение ключа по которому фильтруем массивы
$Myfilter = array_filter($Myitems, function($Myitems) use($make) {
return $Myitems['color'] === $make;
});
Далее в шаблоне выводим данные этого массива:
<?php foreach($Myfilter as $mylist) : ?>
//Выводим значения массива
<?php endforeach; ?>