Home  >  Article  >  Backend Development  >  PHP: Application of strtok() function_PHP tutorial

PHP: Application of strtok() function_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 14:53:11786browse

Compared with explode(), the strtok() function can control the rhythm. Cut the string as needed. The advantages are:

1. Multiple separators can be defined at one time. When the function is executed, it cuts by a single delimiter instead of the entire delimiter, while explode cuts by the entire delimiter string. For this reason, explode can be cut in Chinese, but strtok cannot and will be garbled.

2. When using while or for with strtok() to traverse, you can change the separator at any time, or use break to terminate cutting at any time.

Example 1: Demonstrate using Chinese + explode to cut

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员";
$arr = explode("论坛",$string);
foreach($arr as $v)
{
echo $v."
";
}
echo "-------------
";

Return:

这是PHP

版块
栏目
H管理员
会员
-------------

Example 2: Demonstrate changing the cutting character, please note that there is no more WHILE later With "H" delimiter. Instead just use spaces.

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员";
$tok = strtok($string, " H"); //空格+H
$n=1;
while ($tok !== false) {
echo "$tok
";
$tok = strtok(" "); //空格
//if($n>2)break; //可以随时跳出。
//$n++;
}
echo "-------------
";

Returns:

这是P
P 论坛
论坛版块
论坛栏目
论坛H管理员
论坛会员
-------------

Example 3: Demonstrate multiple delimiters.

$string = "This is/tan example/nstring";
$tok = strtok($string, " /n/t"); #空格,换行,TAB
while ($tok !== false) {
echo "$tok
";
$tok = strtok(" /n/t");
}
echo "-------------
";

Return:

This
is
an
example
string
-------------

$string = "abcde 123c4 99sadbc99b5232";
$tok = strtok($string, "bc");
while ($tok !="") {
echo "$tok
";
$tok = strtok("bc");
}
echo "-------------
";

Returns:

a
de 123
4 99sad
99
5232
-------------

Example 4: Demonstrates using for to traverse:

$line = "leon/tatkinson/tleon@clearink.com";
for($token = strtok($line,"/t");$token!="";$token=strtok("/t"))
{
print("token: $token
/n");
}

Returns:

token: leon
token: atkinson
token: leon@clearink.com

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/371493.htmlTechArticleRelative to explode(), the strtok() function can control the rhythm. Cut the string as needed. The advantages are: 1. Multiple separators can be defined at one time. When the function is executed, it is based on a single delimiter...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn