|
Последние активные темы форума |
|
strtok
(PHP 3, PHP 4 , PHP 5) strtok -- Разбивает строку
Описание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().
|