Перейти к содержимому

strtok()

Введение

Функция strtok() в PHP разбивает строку на более мелкие части, называемые токенами. Она разделяет строку с помощью символов из строки-разделителя. В этой статье мы подробно обсудим функцию strtok() и то, как её можно использовать в PHP.

Понимание функции strtok()

Синтаксис использования функции strtok() в PHP выглядит следующим образом:

Синтаксис strtok() в PHP

php
strtok(string $str, string $delimiter) : string|false

Здесь $str — это строка для токенизации, а $delimiter — строка, где каждый символ действует как отдельный разделитель (а не многосимвольный разделитель). Функция strtok() поддерживает внутренний указатель, что делает её сохраняющей состояние. Она возвращает первый найденный в строке токен, а последующие вызовы функции с $str, установленным в null, будут возвращать последующие токены, пока не останется больше токенов.

Если параметр $str не является строкой или параметр $delimiter является пустой строкой, функция возвращает false.

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

Ниже приведен пример использования функции strtok() в PHP:

Пример PHP strtok()

php
<?php

$string = "Hello World! How are you?";
$delimiter = " !?";

$token = strtok($string, $delimiter);

while ($token !== false) {
  echo "$token" . "\n";
  $token = strtok(null, $delimiter);
}

В приведенном выше примере мы определяем строку $string и разделитель $delimiter. Мы используем функцию strtok() для разделения строки на более мелкие части, разделенные символами разделителя. Затем мы проходим циклом по токенам и выводим их по одному.

Заключение

Функция strtok() в PHP — это мощный инструмент для разделения строки на более мелкие части. Она может использоваться в самых разных ситуациях, когда строку необходимо разделить на более мелкие части, например, при разборе текста или данных. Понимание того, как использовать функцию strtok(), позволяет разработчикам создавать более эффективные и производительные приложения на PHP. Обратите внимание, что для большинства современных приложений на PHP для токенизации чаще предпочтительны функции explode() или str_getcsv(), поскольку они не сохраняют состояние и сразу возвращают массивы.

Практика

Что делает функция PHP strtok?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.