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);
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
0xD34F
@0xD34F
$brands = array_filter($brands, function($n) {
  return isset($n['alias']);
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Можно попробовать использовать встроенную функцию PHP для фильтрации массивов:
function.array-filter
внутри callback-функции вы сможете реализовать логику, по которой будут отфильтрованы элементы массива
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы