Функция PHP strtok

string strtok ( string arg1, string arg2 )

strtok() разбивает строку arg1 на подстроки, используя в качесве разделителей символы из arg2. Например строку "This is an example string" можно разбить на отдельные слова.

Пример использования strtok:

<?php
   $string = "This is	an example string";
   /* в качестве разделителей используем пробел, табуляцию и перевод строки */
   $tok = strtok($string, "  	");
   while ($tok) {
      echo "Word=$tok<br />";
      $tok = strtok("  	");
   }
?>  

Заметьте, что исходная строка передается только при первом вызове этой функции. Последующим вызовам передаются только разделители, так как эта функция сохраняет исходную строку и запоминает позицию в этой строке между вызовами. Для работы с новой строкой нужно снова вызвать функцию с двумя аргументами.

Начиная с PHP 4.1.0, был изменен способ обработки пустых подстрок. До версии 4.1.0 эта функция возвращала пустые подстроки, а начиная с 4.1.0 эти подстроки пропускаются.

Старый способ обработки пустых подстрок функцией strtok:

<?php
   $first_token  = strtok('/something', '/');
   $second_token = strtok('/');
   var_dump($first_token, $second_token);
?>

Вывод:

string(0) ""  string(9) "something"  

Новый способ обработки пустых подстрок функцией strtok:

<?php
   $first_token  = strtok('/something', '/');
   $second_token = strtok('/');
   var_dump($first_token, $second_token);
?>  

Вывод:

string(9) "something"  bool(false)  

Помните также о том, что может быть возвращена подстрока "0". В логических выражениях это значение может соответствовать FALSE.

См. также описание функций split и explode.