strtok
(PHP 4, PHP 5, PHP 7, PHP 8)
strtok — Розбиває рядок на токени
Опис
strtok(string $string, string $token): string|false
Альтернативна сигнатура (не підтримується з іменованими аргументами):
strtok(string $token): string|false
Функцияstrtok() розбиває рядок (string
) на підрядки (токени), використовуючи як роздільники символи з token
. Наприклад, рядок "This is an example string" можна розбити на окремі слова з пробілом як роздільник (token
Зауважте, що вихідний рядок (string
) передається лише при першому виклику цієї функції. Черговим дзвінкам передаються тільки роздільники (token
), оскільки ця функція зберігає вихідний рядок та запам'ятовує позицію у цьому рядку між викликами. Для роботи з новим рядком (string
) потрібно знову викликати функцію з двома аргументами. Зверніть увагу, що у параметрі token
дозволено вказувати кілька розділів. Рядок буде ділитися за будь-яким знайденим символом, який міститься в параметрі (token
Зауваження :
Функція поводиться трохи інакше, ніж можна було б очікувати, знайомлячись з explode(). По-перше, послідовність із двох або більше суміжних символів
token
у аналізованому рядку визнається одним роздільником. Ігнорується таtoken
на початку чи наприкінці рядка. Наприклад, якщо вказано рядок«;aaa;;bbb;»
, послідовні виклики функції strtok() із символом«;»
в качестве значения параметраtoken
повернуть рядки «aaa» та «bbb», а потімfalse
. Результатом буде те, що рядок буде поділено лише на два елементи, а викликexplode(";", $string)
поверне масив із 5 елементів.
Список параметрів
string
Рядок (string), що розбивається на підрядки (токени).
token
Розділювач рядка string
Значення, що повертаються
Повертає токен у вигляді рядка (string) або **false
**якщо токенів більше немає.
список змін
Версия | Опис |
---|---|
8.3.0 | Тепер видає помилку рівня E_WARNING , когда параметрtoken не вказано. |
Приклади
Приклад #1 Приклад використання функції strtok()****
Loading...
Приклад #2 Спосіб обробки порожніх підрядок функцією strtok()
Loading...
Результат виконання наведеного прикладу:
string(9) "something"
bool(false)
Приклад #3 Відмінність функції strtok() від функції explode()
Loading...
Результат виконання наведеного прикладу:
["aaa","bbb"]
["","aaa","","bbb",""]
Примітки
Увага
Ця функція може повертати як логічне значення **false
**так і значення не типу boolean, яке наводиться до false
. За більш детальною інформацією зверніться до розділу Логічний типИспользуйтеоператор === для перевірки значення, яке повертається цією функцією.
Дивіться також
- explode() - Розбиває рядок за допомогою роздільника