Задать вопрос
Twitt
@Twitt

Как из этого массива удалить массив?

Есть массив, внутри которого есть десять массивов, типо такого: массив брендов
$brands = array(array('name' => 'Audi', 'hidden' => false, 'alias' => 'audi'),
array('name' => 'BMW', 'hidden' => true));

И мне нужно удалить из массива brands те массивы, где допустим, не проставлен "alias". Как это лучше всего сделать? Получается как то так, но работает некорректно, ибо print_r в итоге показывает все равно два массива.
$brands = array(
array('name' => 'Audi', 'hidden' => false, 'alias' => 'audi'), 
array('name' => 'BMW', 'hidden' => true)
);
foreach($brands as $brand) {
	if(!isset($brand['alias'])) {
		unset($brand);
	}
}
print_r($brands);
  • Вопрос задан
  • 144 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F
$brands = array_filter($brands, function($n) {
  return isset($n['alias']);
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Можно попробовать использовать встроенную функцию PHP для фильтрации массивов:
function.array-filter
внутри callback-функции вы сможете реализовать логику, по которой будут отфильтрованы элементы массива
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽