Home > php教程 > php手册 > PHP的strtok()函数实例应用

PHP的strtok()函数实例应用

WBOY
Release: 2016-06-13 11:35:30
Original
1030 people have browsed it

相对于explode()来说,strtok()函数可以控制节奏。按需切割字串。其优点是:
1、可以一次定义多个分隔符。函数在执行时,是按单个分隔符来切割,而不是按整个分隔符,而explode则是按整个分隔串来切割的。正因此,explode可以用中文切割,而strtok则不行,会乱码。
2、在使用while或for配合strtok()遍历时,可以随时更换分隔符,也可以随时用break跳出终止切割。
示例1:演示用中文+explode来切割
$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员"; 
$arr = explode("论坛",$string); 
foreach($arr as $v) 

echo $v."
"; 

echo "-------------
"; 
返回:
这是PHP 
版块 
栏目 
H管理员 
会员 
-------------  
示例2:演示更换切割符,注意后面WHILE中不再带有“H”分隔符。而只是用空格。
$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员"; 
$tok = strtok($string, " H"); //空格+H 
$n=1; 
while ($tok !== false) { 
echo "$tok
"; 
$tok = strtok(" "); //空格 
//if($n>2)break; //可以随时跳出。 
//$n++; 

echo "-------------
"; 
返回:
这是P 
P论坛 
论坛版块 
论坛栏目 
论坛H管理员 
论坛会员 
------------- 
示例3:演示多分隔符。
$string = "This istan examplenstring"; 
$tok = strtok($string, " nt"); #空格,换行,TAB 
while ($tok !== false) { 
echo "$tok
"; 
$tok = strtok(" nt"); 

echo "-------------
"; 
返回:
This 
is 
an 
example 
string 
------------- 
$string = "abcde 123c4 99sadbc99b5232"; 
$tok = strtok($string, "bc"); 
while ($tok !="") { 
echo "$tok
"; 
$tok = strtok("bc"); 

echo "-------------
"; 
返回:

de 123 
4 99sad 
99 
5232 
------------- 
示例4:演示用for来遍历:
$line = "leontatkinsontleon@clearink.com"; 
for($token = strtok($line,"t");$token!="";$token=strtok("t")) 

print("token: $token
n"); 

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

source:php.cn
Statement of this Website
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
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template