explode
(PHP 4, PHP 5)
explode — Разбивает строку с помощью разделителя
Описание
$delimiter
, string $string
[, int $limit
] )
Возвращает массив строк, полученных разбиением строки
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
|
4.0.1 |
Добавлен параметр 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 Примеры с использованием параметра limit
<?php
$str = 'один|два|три|четыре';
// положительный лимит
print_r(explode('|', $str, 2));
// отрицательный лимит (начиная с PHP 5.1)
print_r(explode('|', $str, -1));
?>
Результат выполнения данного примера:
Array ( [0] => один [1] => два|три|четыре ) Array ( [0] => один [1] => два [2] => три )
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.
Смотрите также
- preg_split() - Разбивает строку по регулярному выражению
- str_split() - Преобразует строку в массив
- mb_split() - Разделение строк в многобайтных кодировках, используя регулярное выражение
- str_word_count() - Возвращает информацию о словах, входящих в строку
- strtok() - Разбивает строку на токены
- implode() - Объединяет элементы массива в строку
- addcslashes
- addslashes
- bin2hex
- chop
- chr
- chunk_split
- convert_cyr_string
- convert_uudecode
- convert_uuencode
- count_chars
- crc32
- crypt
- echo
- explode
- fprintf
- get_html_translation_table
- hebrev
- hebrevc
- hex2bin
- html_entity_decode
- htmlentities
- htmlspecialchars_decode
- htmlspecialchars
- implode
- join
- lcfirst
- levenshtein
- localeconv
- ltrim
- md5_file
- md5
- metaphone
- money_format
- nl_langinfo
- nl2br
- number_format
- ord
- parse_str
- printf
- quoted_printable_decode
- quoted_printable_encode
- quotemeta
- rtrim
- setlocale
- sha1_file
- sha1
- similar_text
- soundex
- sprintf
- sscanf
- str_getcsv
- str_ireplace
- str_pad
- str_repeat
- str_replace
- str_rot13
- str_shuffle
- str_split
- str_word_count
- strcasecmp
- strchr
- strcmp
- strcoll
- strcspn
- strip_tags
- stripcslashes
- stripos
- stripslashes
- stristr
- strlen
- strnatcasecmp
- strnatcmp
- strncasecmp
- strncmp
- strpbrk
- strpos
- strrchr
- strrev
- strripos
- strrpos
- strspn
- strstr
- strtok
- strtolower
- strtoupper
- strtr
- substr_compare
- substr_count
- substr_replace
- substr
- trim
- ucfirst
- ucwords
- vfprintf
- vprintf
- vsprintf
- wordwrap
Коментарии
function aexplode($delimiters,$string,$trimduplicate = false) {
if (!is_array($delimiters))
return explode($delimiters,$string);
$stringaux = str_replace($delimiters, $delimiters[0], $string);
if ($trimduplicate)
while (strpos($stringaux,$delimiters[0].$delimiters[0]) !== false)
$stringaux = str_replace($delimiters[0].$delimiters[0],$delimiters[0],$stringaux);
return explode($delimiters[0],$stringaux);
}
This functions will work and accept array.