Страницы

Поиск по вопросам

пятница, 7 июня 2019 г.

Удалить пустой массив из многомерного массива

Есть массив такого вида:
Array ( [0] => Array ( [date] => 07.08.2018 [name] => Название 1 [desc] => Описание 1. )
[1] => Array ( [date] => 07.08.2018 [name] => Название 2 [desc] => Описание 2. )
)
Т.е. В массиве массивы в тремя ключами.
Как удалять массивы, в которых не заполнен один или более ключей? Т.е. оставлять только те поля, в которых всё заполнено?
Например, при таких ситуациях:
Array ( [0] => Array ( [date] => 07.08.2018 [name] => Название 1 [desc] => Описание 1. )
[1] => Array ( [date] => 07.08.2018 [name] => Описание 2 [desc] => Описание 2. )
[2] => Array ( [date] => [name] => [desc] => )
)
или
Array ( [0] => Array ( [date] => 07.08.2018 [name] => Название 1 [desc] => Описание 1. )
[1] => Array ( [date] => 07.08.2018 [name] => Название 2 [desc] => Описание 2. )
[2] => Array ( [date] => [name] => Описание 3 [desc] => )
)
Удалить массив с ключом [2]


Ответ

$arr = [ [ 'date' => '07.08.2018', 'name' => 'Название 1', 'desc' => 'Описание 1.' ], [ 'date' => '07.08.2018', 'name' => 'Название 1', 'desc' => 'Описание 1.' ], [ 'date' => '', 'name' => 'Название 1', 'desc' => '.' ] ];
foreach ($arr as $idx => $subarray) { foreach ($subarray as $name => $item) { if ($item == null) unset($arr[$idx]); } }
print_r($arr);

Комментариев нет:

Отправить комментарий