@Danbka

Как красиво собрать значения определенного ключа многомерного массива?

Ничего против foreach, конечно не имею, вопрос чисто академический.

Есть многомерный массив вида:

Array(
    0 => Array(
        'ID' => 1,
        'NAME' => 'Ivanov'
    ),
    ...
    10 => Array(
        'ID' => 10,
        'NAME' => 'Petrov'
    ),
)


Как собрать, например, все NAME не прибегая к foreach?

Способ был бы красивым, если бы не глобальная переменная:

global $users;
$users = [];
array_map(function($value) {
	$users[] = $value['NAME'];
}, $array);


Может есть другой?
  • Вопрос задан
  • 201 просмотр
Решения вопроса 2
DevMan
@DevMan
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
$names = array_column($users, 'name')
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
А зачем вам глобальная переменная понадобилась?
$users = array_map(function ($value) {
    return $value['NAME'];
}, $array);

$users = array_column($array, 'NAME');
Ответ написан
Комментировать
kentuck1213
@kentuck1213
array_map работает в 3 раза медленней foreach
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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