(PHP 4, PHP 5)
strtok — Разбивает строку
strtok() разбивает строку arg1 на подстроки, используя в качесве разделителей символы из arg2 . Например строку "This is an example string" можно разбить на отдельные слова.
Example#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 эти подстроки пропускаются.
Example#2 Старый способ обработки пустых подстрок функцией strtok()
<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>
Вывод:
string(0) ""
string(9) "something"
Example#3 Новый способ обработки пустых подстрок функцией strtok()
<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>
Вывод:
string(9) "something"
bool(false)
Помните также о том, что может быть возвращена подстрока "0". В логических выражениях это значение может соответствовать FALSE.