PHP. implode по одному полю многомерного массива

Данный материал предоставлен сайтом PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.

Выводим результат одного из полей многомерного массива в строку через запятую.

Представим, что нам понадобилось запросить данные из базы данных и результат одной из колонок вывести через запятую.
В своем примере в роли данных из БД, выступает массив $array. Который содержит: id, login и password.
Необходимо получить все логины (login) и вывести их в строку через запятую.
Конечно можно было воспользоваться foreach и результат элемента с ключом login записывать через запятую в переменную, но я считаю, что есть более быстрый и изящный вариант. Для этого воспользуемся php функциями: array_map и implode:

$array = [
    [
        'id' => 1, 
        'login' => 'Alex',
        'password' => '*******'
    ],
    [
        'id' => 2, 
        'login' => 'Fixlix',
        'password' => '*******'
    ],
    [
        'id' => 3, 
        'login' => 'Pacific',
        'password' => '*******'
    ],
    [
        'id' => 4, 
        'login' => 'Sky',
        'password' => '*******'
    ]
];

echo implode(', ', array_map(function ($value) {
    return $value['login'];
}, $array));

Callback функция array_map перебирает массив $array и возвращает данные только из поля login:
array_map(function ($value) {
    return $value['login'];
}, $array)

Функция implode берет значения массива и возвращает эти значения в виде строки, через запятую (Запятая указана первым параметром в функции implode, но вы можете указывать тот символ, который требуется вам).

Результат:
Alex, Fixlix, Pacific, Sky
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.