PHP中的函数strtok()有什么用途?它与其他执行相同任务的字符串函数相比有何优势?

25

strtok() 函数在PHP中有什么用途?相对于其他完成相同任务的字符串函数,它有何优势?


你也可以看到 https://dev59.com/oHI-5IYBdhLWcg3wR2Jr#24280162 - simhumileco
4个回答

38

没有其他字符串函数能够做相同的事情。例如,explode 函数会返回一个包含完整拆分字符串的数组。而另一方面,strtok 函数每次仅返回一个片段,并且每次调用返回下一个片段。对于较大的字符串,这种方式潜在地更经济、更节省内存。


7

strtok函数在需要使用多个分隔符分割字符串时比其他函数更为常用。

其他函数,如preg_splitsplit是基于正则表达式的,将会有相关的开销。


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

但是不要称之为“更好”。这只是另一种方法。

4

strtok()是一个非常有用的函数,但需要注意以下几点:

  • 该函数可能返回布尔值FALSE,但也可能返回一个被解释为FALSE的非布尔值(PHP手册)。

  • 如果您只想按一个字符进行分词,explode()strtok()更快(参考来源)。

  • 如果您的解决方案对内存使用非常敏感,那么请记住,strtok函数在使用后会将输入字符串参数(或对其的引用)保存在内存中(参考来源)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接