24

strtok()PHP中函数的用途是什么?如何比其他字符串函数做同样的事情更好?

4

4 回答 4

37

没有其他字符串函数可以做同样的事情。类似的函数explode返回数组中完整的拆分字符串。strtok另一方面,一次只返回一个片段,随后的每个调用都返回下一个片段。对于大字符串,这可能更经济和节省内存。

于 2010-03-27T04:52:09.193 回答
6
$addr=strtok($_SERVER['REQUEST_URI'],'?');

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

于 2010-03-27T04:51:28.740 回答
6

strtok当您必须在多个 delimiter 上拆分字符串时,它优于其他函数。

另一个类似preg_splitsplit的函数是基于正则表达式的,并且会与它们相关联的开销。

于 2010-03-27T04:54:04.713 回答
3

strtok()是一个很棒且非常有用的功能,但是:

  • 此函数可能返回 Boolean ,但也可能返回计算结果为( PHP ManualFALSE )的非布尔值。FALSE

  • 如果您只想用一个字母进行标记,则 ) 与( Sourceexplode( )相比要快得多。strtok()

  • 如果您有内存使用关键解决方案,您应该记住,strtok 函数在使用后将输入字符串参数(或对它的引用?)保存在内存中(Source)。

于 2017-06-12T10:50:27.293 回答