Описание
string
strtok ( string arg1, string arg2 )
strtok() разбивает строку
arg1 на подстроки, используя в качесве
разделителей символы из arg2.
Например строку "This is an example string" можно разбить на
отдельные слова.
Пример 1. Пример использования strtok()
<?php $string = "This is\tan example\nstring"; /* в качестве разделителей используем пробел, табуляцию и перевод строки */ $tok = strtok($string, " \n\t"); while ($tok) { echo "Word=$tok<br />"; $tok = strtok(" \n\t"); } ?>
|
|
Заметьте, что исходная строка передается только при первом вызове
этой функции. Последующим вызовам передаются только разделители, так
как эта функция сохраняет исходную строку и запоминает позицию в этой
строке между вызовами. Для работы с новой строкой нужно снова вызвать
функцию с двумя аргументами.
Начиная с PHP 4.1.0, был изменен способ обработки пустых подстрок. До
версии 4.1.0 эта функция возвращала пустые подстроки, а начиная с
4.1.0 эти подстроки пропускаются.
Пример 2. Старый способ обработки пустых подстрок функцией strtok()
<?php $first_token = strtok('/something', '/'); $second_token = strtok('/'); var_dump($first_token, $second_token); ?>
|
Вывод:
string(0) ""
string(9) "something" |
|
Пример 3. Новый способ обработки пустых подстрок функцией strtok()
<?php $first_token = strtok('/something', '/'); $second_token = strtok('/'); var_dump($first_token, $second_token); ?>
|
Вывод:
string(9) "something"
bool(false) |
|
Помните также о том, что может быть возвращена подстрока "0". В
логических выражениях это значение может соответствовать FALSE.
См. также описание функций split() и
explode().