(PHP 4, PHP 5, PHP 7)

explode — Разбивает строку с помощью разделителя

Описание

array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] )

Возвращает массив строк, полученных разбиением строки string с использованием delimiter в качестве разделителя.

Список параметров

delimiter

Разделитель.

string

Входная строка.

limit

Если аргумент limit является положительным, возвращаемый массив будет содержать максимум limit элементов, при этом последний элемент будет содержать остаток строки string.

Если параметр limit отрицателен, то будут возвращены все компоненты кроме последних —limit.

Если limit равен нулю, то он расценивается как 1.

Замечание:

По историческим причинам, функции implode() можно передавать аргументы в любом порядке, но для explode() это недопустимо. Убедитесь в том, что delimiter указан перед аргументом string.

Возвращаемые значения

Возвращает массив (array) строк (string), созданный делением параметра string по границам, указанным параметром delimiter.

Если delimiter является пустой строкой («»), explode() возвращает FALSE. Если delimiter не содержится в string, и используется отрицательный limit, то будет возвращен пустой массив (array), иначе будет возвращен массив, содержащий string.

Список изменений

Версия Описание
5.1.0 Добавлена поддержка отрицательных значений limit

Примеры

Пример #1 Пример использования explode()

<?php
// Пример 1
$pizza  = "кусок1 кусок2 кусок3 кусок4 кусок5 кусок6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // кусок1
echo $pieces[1]; // кусок2

// Пример 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

 

Пример #2 Пример возвращаемого значения explode()

<?php
/* 
   Строка, которая не содержит разделителя, будет
   просто возвращать массив с одним значением оригинальной строки.
*/
$input1 = "hello";
$input2 = "hello,there";
$input3 = ',';
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
var_dump( explode( ',', $input3 ) );

?>

 

Результат выполнения данного примера:

array(1)
(
    [0] => string(5) "hello"
)
array(2)
(
    [0] => string(5) "hello"
    [1] => string(5) "there"
)
array(2)
(
    [0] => string(0) ""
    [1] => string(0) ""
)

 

Пример #3 Примеры с использованием параметра limit

<?php
$str = 'один|два|три|четыре';

// положительный лимит
print_r(explode('|', $str, 2));

// отрицательный лимит (начиная с PHP 5.1)
print_r(explode('|', $str, -1));
?>
Результат выполнения данного примера:

Array
(
    [0] => один
    [1] => два|три|четыре
)
Array
(
    [0] => один
    [1] => два
    [2] => три
)

 

Примечания

ЗамечаниеЭта функция безопасна для обработки данных в двоичной форме.