Каково использование функции strtok () в PHP, как лучше, чем другая строковая функция, выполняющая то же самое?
каково использование функции strtok () в PHP, как лучше, чем другая строковая функция, выполняющая то же самое?
4 ответов
нет другой Строковой функции, которая делает то же самое вещь. Функции как explode
возвращает полную разделенную строку в массиве. strtok
С другой стороны, возвращает только одну часть за раз, с каждым последующим вызовом возвращая следующую часть. Это потенциально гораздо более экономично и сохраняет память для больших строк.
strtok
предпочтительнее другой функции, когда вам нужно разделить строку на несколько разделителей.
другая функция, как функции preg_split, сплит основаны на регулярных выражениях и будут иметь связанные с ними накладные расходы.
$addr=strtok($_SERVER['REQUEST_URI'],'?');
но не называйте это "лучше". это просто другой способ сделать это.
strtok()
- отличная и очень полезная функция, но:
эта функция может возвращать логическое значение
FALSE
, но может также возвращать не-булевое значение, которое оценивается какFALSE
. (руководство по PHP)если вы хотите разметить только одну букву,
explode(
) намного быстрее по сравнению сstrtok()
. (источник)если у вас есть использования памяти критическое решение, вы должны иметь в виду, что функция strtok содержит входной строковый параметр (или ссылку на него?) в памяти после использования. (источник)