Содержание
(PHP 4, PHP 5, PHP 7)
explode — Разбивает строку с помощью разделителя
Описание
Возвращает массив строк, полученных разбиением строки string с использованием delimiter в качестве разделителя.
Список параметров
Если аргумент 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()
// Пример 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()
/*
Строка, которая не содержит разделителя, будет
просто возвращать массив с одним значением оригинальной строки.
*/
$input1 = "hello" ;
$input2 = "hello,there" ;
var_dump ( explode ( ‘,’ , $input1 ) );
var_dump ( explode ( ‘,’ , $input2 ) );
Результат выполнения данного примера:
Пример #3 Примеры с использованием параметра limit
// положительный лимит
print_r ( explode ( ‘|’ , $str , 2 ));
// отрицательный лимит (начиная с PHP 5.1)
print_r ( explode ( ‘|’ , $str , — 1 ));
?>
Результат выполнения данного примера:
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.
Смотрите также
- preg_split() — Разбивает строку по регулярному выражению
- str_split() — Преобразует строку в массив
- mb_split() — Разделение строк в многобайтных кодировках, используя регулярное выражение
- str_word_count() — Возвращает информацию о словах, входящих в строку
- strtok() — Разбивает строку на токены
- implode() — Объединяет элементы массива в строку
(PHP 3, PHP 4, PHP 5)
explode — Разбивает строку на подстроки
Описание
Возвращает массив строк, полученных разбиением строки string с использованием separator в качестве разделителя. Если передан аргумент limit передан, массив будет содержать максимум limit элементов, при этом последний элемент будет содержать остаток строки string .
Если separator — пустая строка (""), explode() возвращает FALSE . Если separator не содержится в string , то explode() возвращает массив, содержащий один элемент string .
По историческим причинам, функции implode() можно передавать аргументы в любом порядке, но для explode() это недопустимо. separator всегда должен содержать разделитель, а string — исходную строку.
Замечание: Аргумент limit был добавлен в PHP 4.0.1
Пример 1. Примеры применения explode()
// Пример 1 $pizza = "piece1 piece2 piece3 piece4 piece5 piece6" ; $pieces = explode ( " " , $pizza ); echo $pieces [ 0 ]; // piece1 echo $pieces [ 1 ]; // piece2 |
// Пример 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh" ;
list( $user , $pass , $uid , $gid , $gecos , $home , $shell ) = explode ( ":" , $data );
echo $user ; // foo
echo $pass ; // *
Замечание: Эта функция безопасна для обработки данных в двоичной форме.
Разбить строку на массив можно через функцию explode() .
2-ой способ: регулярные выражения
Разбить строку на массив через регулярные выражения можно через функцию preg_split() .
Можно каждый символ строки разбить в массив через функцию str_split() .