Как убрать ключи массива у которых только все значения пустые

344
14 августа 2017, 11:40

Получаю на выходе такой массив:

Array
(
    [2] => Array
        (
            [title] => Тест 1
            [keywords] => 111
            [description] => 111
            [artikul] => 1111
            [content] => Привет 1
            [price] => 555
        )
    [3] => Array
        (
            [title] => 
            [keywords] => 
            [description] => 
            [artikul] => 
            [content] => 
            [price] => 
        )
    [4] => Array
        (
            [title] => 
            [keywords] => 
            [description] => 
            [artikul] => 
            [content] => 
            [price] => 
        )
)

Скажите пожалуйста, как в итоге можно обрезать те ключи, только у которых значения все пустые. Если хоть одно заполнено, обрезать не нужно.

Использовал библиотеку phpexel для импорта товаров в базу данных. Но почему то у которых строк в документе exel изменил высоту, но при этом они пустые, они тоже попадают в массив.

Answer 1

Например так:

$input = [
    ['foo' => '', 'bar' => ''],
    ['foo' => '', 'bar' => '1'],
    ['foo' => '12', 'bar' => ''],
];
$output = array_filter($input, function($item) {
    foreach ($item as $value) {
        if ('' !== $value && null !== $value) {
            return true;
        }
    }
    return false;
});
var_dump($output);

Используется функция array_filter, где в callback-функции выполняется цикл по всем значениям каждого вложенного подмассива.

READ ALSO
OpenCart | Ошибка 500 в категориях и товарах

OpenCart | Ошибка 500 в категориях и товарах

Здравствуйте, столкнулся с такой проблемой, ошибка 500 на страницах категорий и товаров, на остальных страницах проблема не наблюдается, как...

269
Где нету запятой?

Где нету запятой?

Выдает такую ошибку:

215
команда cURL в PHP cURL

команда cURL в PHP cURL

разбираясь с API IPFS, захотелось написать свои шорткаты для PHP с использованием cURL, однако, до сих пор не могу совладать с /add

216
суммирование переменной в цикле

суммирование переменной в цикле

Всем привет, вывожу данные из базы данных функцией while($row = mysql_fetch_array($rs)) { в одной из колонок выводятся строки с числами '$row['itog']

266