Reputation: 16204
Whats the use of function strtok()
in PHP? How is better than other string function doing the same thing?
Upvotes: 27
Views: 12069
Reputation: 34525
strtok()
is a great and very useful function but:
This function may return Boolean
FALSE
, but may also return a non-Boolean value which evaluates toFALSE
(PHP Manual).
If you want to tokenize by only one letter,
explode(
) is much faster compared tostrtok()
(Source).
If you have memory-usage critical solution, you should keep in mind, that strtok function holds input string parameter (or reference to it?) in memory after usage (Source).
Upvotes: 5
Reputation: 157839
$addr=strtok($_SERVER['REQUEST_URI'],'?');
but do not call it "better". it's just another way to do it.
Upvotes: 6
Reputation: 454970
strtok
is preferred over other function when you have to split a string on more than one delimiter.
The other function that this like preg_split, split are regex based and will have associated overhead with them.
Upvotes: 7
Reputation: 522033
There is no other string function that does the same thing. Functions like explode
return the complete split string in an array. strtok
on the other hand only returns one piece at a time, with each subsequent call returning the next piece. This is potentially much more economic and memory preserving for large strings.
Upvotes: 41