php функция implode

В этом руководстве вы узнаете, как использовать функцию PHP implode () для объединения массива строк в одну строку с помощью разделителя.
Функция PHP implode() позволяет объединить массив строк с помощью разделителя. Синтаксис функции implode():

implode ( string $separator , array $array ) : string

Функция implode () имеет два параметра:

separator (обязательный параметр) - это разделитель, разделяющий две строки. В качестве разделителя  по умолчанию используется пустая строка.

array (обязательный параметр) - это массив строк для объединения.

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

Примеры использования функции PHP implode()

Давайте рассмотрим несколько примеров использования функции implode().
Предположим, у вас есть список имен столбцов, включая first_name, last_name и адрес электронной почты. И вы хотите превратить его в заголовок файла CSV.
Для этого вы можете использовать функцию implode() для соединения строковых элементов следующим образом:

<?php
$columns = ['first_name', 'last_name', 'email'];
$header = implode(',', $columns);
echo $header;
?>

Вывод:
first_name,last_name,email

Использование функции PHP implode () с ассоциативным массивом

Если вы передадите ассоциативный массив в функцию implode(), она объединит только значения массива и проигнорирует ключи массива. Например:

<?php
$person = [
'first_name' => 'John',
'last_name' => 'Doe',
25,
'Female'
];
echo implode(',', $person);
?>

Вывод:
John,Doe,25,Female

Использование функции implode () с функцией array_map()

Если вы хотите заменить подчеркивание (_) в каждом элементе, вы можете сделать это следующим образом:

<?php
$columns = ['first_name', 'last_name', 'email'];
$header = implode(',', array_map(fn ($c) => str_replace('_', ' ', $c), $columns));
echo $header;
?>

Вывод:
first name,last name,email

Как это работает:

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

Использование функции implode() с функцией array_filter()

В следующем примере показано, как использовать функцию implode() с функцией array_filter():

<?php
$columns = ['ssn', 'first_name', 'last_name', 'password', 'email', 'phone'];
$excludes = ['ssn', 'password'];
$header = implode(',', array_filter($columns, fn ($c) => !in_array($c, $excludes)));
echo $header;
?>

Вывод:
first_name,last_name,email,phone

Обсуждение закрыто.