В этом руководстве вы узнаете, как использовать функцию explode () для разделения строки с помощью разделителя на массив строк.
Функция PHP explode() возвращает массив строк, разделяя строку разделителем. Ниже показан синтаксис функции explode():
explode ( string $separator , string $string , int $limit = PHP_INT_MAX ) : array
Функция explode() имеет следующие параметры:
Если аргумент $limit положительный, функция explode() возвращает массив с количеством элементов равным $limit, где последний элемент содержит остальную часть строки.
Если $limit равен нулю, функция explode() интерпретирует его как единицу. Таким образом, функция возвращает массив с исходной строкой.
Если $limit отрицательный, функция explode() разделяет строку с помощью разделителя. Кроме того, он удаляет последние элементы $limit из массива результатов.
До PHP 8.0.0 функция explode() возвращала false, если $separator(разделитель) - пустая строка. Начиная с PHP 8.0.0, функция explode() вместо этого выдает ошибку ValueError.
В следующем примере функция explode() использует для разделения строки запятую(,):
<?php
$str = 'first_name,last_name,email,phone';
$headers = explode(',', $str);
print_r($headers);
Вывод:
array(4)
{
[0]=> string(10) "first_name"
[1]=> string(9) "last_name"
[2]=> string(5) "email"
[3]=> string(5) "phone"
}
В следующем примере используется функция explode() с положительным аргументом $ limit:
$str = 'first_name,last_name,email,phone';
$headers = explode(',', $str, 3);
var_dump($headers);
Вывод:
array(3)
{
[0]=> string(10) "first_name"
[1]=> string(9) "last_name"
[2]=> string(5) "email,phone"
}
Как ясно показано в выходных данных, возвращаемый массив содержит три элемента, указанных аргументом $limit. Кроме того, последний элемент имеет оставшуюся строку.
<?php
$str = 'first_name,last_name,email,phone';
$headers = explode(',', $str, -1);
var_dump($headers);
Вывод
array(3)
{
[0]=> string(10) "first_name"
[1]=> string(9) "last_name"
[2]=> string(5) "email"
}
В этом примере функция explode() возвращает массив строки и исключает последний элемент из массива результатов.
Если вы используете -2 вместо -1 для $limit, функция explode() удалит последние 2 элемента. Например:
$str = 'first_name,last_name,email,phone';
$headers = explode(',', $str, -2);
var_dump($headers);
Вывод:
array(2)
{
[0]=> string(10) "first_name"
[1]=> string(9) "last_name"
}