Warning: include(../lntop.php) [function.include]: failed to open stream: No such file or directory in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/strtok.html on line 19

Warning: include() [function.include]: Failed opening '../lntop.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/strtok.html on line 19

Warning: include(../levoe_menu.php) [function.include]: failed to open stream: No such file or directory in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/strtok.html on line 46

Warning: include() [function.include]: Failed opening '../levoe_menu.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/strtok.html on line 46



Учебник РНР
НазадВперёд

strtok

(PHP 3, PHP 4 )

strtok - лексемизация/Tokenize строки.

Описание

string strtok (string arg1, string arg2)

strtok() разделяет строку (arg1) на небольшие строки (лексемы/tokens), где каждая строка отделена символом из arg2. То есть, если у вас имеется, например, строка "This is an example string", вы можете лексемизировать её на отдельные слова с применением пробела как разделителя.
Пример 1. strtok()
$string = "This is\tan example\nstring";
/* Использовать также символы tab и newline как лексемизирующие символы */
$tok = strtok($string," \n\t");
while ($tok) {
    echo "Word=$tok<br>";
    $tok = strtok(" \n\t");
}

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

Поведение в случае обнаружения пустой части было изменено в PHP 4.1.0. Старое поведение - возвращалась пустая строка, новое, корректное - эта часть строки просто пропускается:
Пример 2. Старое поведение strtok()
$first_token  = strtok('/something', '/');
    $second_token = strtok('/');
    var_dump ($first_token, $second_token);

/* Выводится:
    string(0) ""
    string(9) "something"
*/
Пример 3. Новое поведение strtok()
$first_token  = strtok('/something', '/');
    $second_token = strtok('/');
    var_dump ($first_token, $second_token);

/* Выводится:
    string(9) "something"
    bool(false)
*/

Имейте также в виду, что ваши лексемы могут быть равны "0". Это даёт FALSE в условных выражениях.

См. также split() и explode().


Назад Оглавление Вперёд
strstr Вверхstrtolower


Warning: include(../pravoe_menu.php) [function.include]: failed to open stream: No such file or directory in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/strtok.html on line 170

Warning: include() [function.include]: Failed opening '../pravoe_menu.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/strtok.html on line 170

Rambler's Top100
© 2009 Тест скорости интернета |  Boont.Ru

Warning: include(../lnbottom.php) [function.include]: failed to open stream: No such file or directory in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/strtok.html on line 296

Warning: include() [function.include]: Failed opening '../lnbottom.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/strtok.html on line 296