Подтвердить что ты не робот

Что такое использование функции strtok() в PHP, как лучше, чем другие строковые функции, делающие то же самое?

Какая польза от функции strtok() в PHP? Как лучше, чем другие строковые функции, делающие то же самое?

4b9b3361

Ответ 1

Нет другой функции строки, которая делает то же самое. Такие функции, как explode, возвращают полную разделительную строку в массиве. strtok, с другой стороны, возвращает только одну часть за раз, причем каждый последующий вызов возвращает следующий фрагмент. Это потенциально намного экономичнее и сохраняет память для больших строк.

Ответ 2

$addr=strtok($_SERVER['REQUEST_URI'],'?');

но не называйте это "лучше". это просто еще один способ сделать это.

Ответ 3

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

Другая функция, которая выглядит как preg_split, split основаны на регулярных выражениях и будут иметь связанные с ними накладные расходы.

Ответ 4

strtok() - отличная и очень полезная функция, но:

  • Эта функция может возвращать логическое значение FALSE, но также может возвращать и не булево значение, которое оценивается как FALSE (руководство по PHP).

  • Если вы хотите использовать токены только одной буквой, функция explode explode() работает намного быстрее, чем strtok() (Source).

  • Если у вас есть критическое решение по использованию памяти, вы должны иметь в виду, что функция strtok хранит входной строковый параметр (или ссылку на него?) В памяти после использования (Source).