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
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.