Php array_map удалить пустые массивы - PullRequest
0 голосов
/ 21 июня 2020

У меня есть массив:

$array = [
  0 => [],
  1 => ['name' => 'test']
  2 => ['name' => 'test 2']
];

Я использую функцию array_map для получения имени:

$names = array_map(function($item) {
      return $item['name'] ?? null;
}, $array);

Я получаю "" в $ names, как я могу пропустить [] и получить только имена?

Ответы [ 2 ]

1 голос
/ 21 июня 2020

Обычно быстрый и грязный ответ будет заключаться в использовании array_filter после array_map, например:

$names = array_filter(array_map(function($item) {
      return $item['name'] ?? null;
}, $array));

, что, конечно, является длинным способом написания:

$names = array_column($array, 'name'));

см. Руководство по array_column

0 голосов
/ 21 июня 2020

Вы должны иметь возможность удалять пустые переменные массива с помощью array_filter()

https://www.php.net/manual/en/function.array-filter.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...