Both the PHP strtok () function and the explode () function can be used to split a string, but there are some differences between the two, and the Strtok () function can control the rhythm of the explode (), and this article describes in detail the explode () function in PHP and Strtok The difference between the () function!
The Strtok () function can control the rhythm relative to explode (). Cut strings on demand. The advantages are:
1. You can define multiple separators at once. When the function is executed, it is cut by a single delimiter rather than by the entire delimiter, while the explode is cut by the entire separator string. As a result, explode can be cut in Chinese, and strtok is not, will be garbled.
2. When using the while or for mate Strtok () traversal, you can change the delimiter at any time, or you can break out of the cut at any time.
Example 1: Demo in Chinese explode to cut
$string = "This is the PHP Forum Forum Panel Forum Column Forum H Admin Forum member"; $arr = explode ("forum", $string); foreach ($arr as $v) {echo $v. <br/> "; } echo "-------------<br/>";
Operation Result:
This is the PHP section of the column H Admin Member-------------
Example 2: Demonstrate replacement of the cut, note that the "H" delimiter is no longer in the later while. And just use a space.
$string = "This is the PHP Forum Forum Panel Forum Column Forum H Admin Forum member"; $tok = Strtok ($string, "H"); Space +h $n = 1; while ($tok!== false) {echo "$tok <br/>"; $tok = Strtok (""); Space//if ($n >2) break; Can jump out at any time. $n + +; } echo "-------------<br/>";
Operation Result:
This is P P Forum Forum Section Forum Forum Member H Admin Forum members-------------
Example 3: Demonstrates multi-delimiter characters.
$string = "This Is\tan example\nstring"; $tok = Strtok ($string, "\n\t"); #空格, newline, TAB while ($tok!== false) {echo "$tok <br/>"; $tok = Strtok ("\n\t");} echo "-------------<br/>";
Operation Result:
This is an example string-------------
$string = "ABCDE 123c4 99sadbc99b5232"; $tok = Strtok ($string, "BC"); while ($tok! = "") {echo "$tok <br/>"; $tok = strtok ("BC");} echo "-------------<br/>";
Operation Result:
A de 123 4 99sad 5232-------------
Example 4: The demo uses for to traverse:
$line = "leon\tatkinson\tleon@clearink.com"; for ($token = Strtok ($line, "\ T"), $token! = "", $token =strtok ("\ T")) {print ("token: $token <br>\n");}
Operation Result:
Token:leon Token:atkinson token:leon@clearink.com
Summarize:
I believe that through the study of this article, I know the difference between the Strtok () and the Explode () function, in the work can be selected in the use of a function in a specific situation, I hope that your work has helped!
Related recommendations:
Application of explode () function in PHP
Example code for the explode () function in PHP
php is detailed in the