top

Описание функции split



split


(PHP 3, PHP 4)
split - делает из строки массив с помощью регулярного выражения.

Описание


array split (string pattern, string string [, int limit])

Примечание: preg_split() , использующая Perl-совместимый синтаксис регулярных выражений, работает часто быстрее split() .

Возвращает массив строк, каждая из которых является подстрокой строки string и образована путём разделения строки по границам, образованным патэрном pattern регулярного выражения. Если limit установлен, возвращённый массив будет содержать максимум limit элементов с последним элементом, содержащим остаток строки string . Если возникла ошибка, split() возвращает FALSE .
Для того чтобы разделить первые четыре поля строчки /etc/passwd :
Пример 1. split()


list($user,$pass,$uid,$gid,$extra)= split (":", $passwd_line, 5);



Примечание: если имеются n вхождений патэрна pattern , возвращённый массив будет содержать n +1 элементов. Например, если вхождений pattern нет, будет возвращён массив из одного элемента. Конечно, это также верно и в том случае, когда string пустая.

Для разбора данных, которые могут быть разграничены слэшами, точками или дефисами:
Пример 2. split()


$date = "04/30/1973";  // разграничителями могут быть slash, dot или hyphen
list ($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br>\n";



Заметьте, что pattern чувствителен к регистру.
Если вам не нужна мощь регулярных выражений, быстрее сработает explode() , которая не вызывает перегрузки машины регулярных выражений.
Для тех, кто ищет способ эмулировать Perl'овское поведение @chars = split('', $str) , рекомендуем посмотреть примеры для preg_split() .
Обратите, пожалуйста, внимание, что pattern это регулярное выражение. Если вы хотите разделить на любом из символов, имеющих в регулярных выражениях специальное значение, вам нужно сначала мнемонизировать/escape эти символы. Если вам кажется, что split() (или любая другая regex-функция) делает нечто странное, прочтите файл regex.7 , включённый в поддиректорию regex/ дистрибутива PHP. Он имеет формат manpage, поэтому вам понадобится что-нибудь сделать со строками man /usr/local/src/regex/regex.7 , чтобы прочесть его.
См. также preg_split() , spliti() , explode() , implode() , chunk_split() и wordwrap() .
corner
My pencil ;)
Главная     Сервисы     Портфолио     Проги     Видео     Контакты     Ссылки     Текст