ホームページ > バックエンド開発 > PHPチュートリアル > PHPのexplode()関数とstrtok()関数の違い

PHPのexplode()関数とstrtok()関数の違い

黄舟
リリース: 2023-03-17 13:22:01
オリジナル
2529 人が閲覧しました

php strtok()functionexplode()関数はどちらもstringを分割するために使用できますが、explode()と比較して、strtok()関数はリズムを制御できます。この記事では、PHPのexplode()関数とstrtok()関数の違いを詳しく紹介します

explode()と比べて、strtok()関数はリズムを制御することができます。必要に応じて紐をカットします。利点は次のとおりです:

1. 複数の区切り文字を一度に定義できます。関数が実行されると、区切り文字全体ではなく 1 つの区切り文字によってカットされますが、エクスプロードは区切り文字文字列全体によってカットされます。このため、explode は中国語でカットできますが、strtok はカットできず、文字化けします。

2. strtok() で while または for を使用してトラバースする場合、いつでもセパレーターを変更したり、break を使用してカットを終了したりできます。

例 1: 中国語の爆発を使用してカットする例を示します。

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员"; 
$arr = explode("论坛",$string); 
foreach($arr as $v) 
{ 
echo $v."<br />"; 
} 
echo "-------------<br />";
ログイン後にコピー

実行結果:

这是PHP 

版块 
栏目 
H管理员 
会员 
-------------
ログイン後にコピー

例 2: 後の WHILE に「H」区切り文字がないことに注意してください。代わりにスペースを使用してください。

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

実行結果:

这是P 
P论坛 
论坛版块 
论坛栏目 
论坛H管理员 
论坛会员 
-------------
ログイン後にコピー

例 3: 複数の区切り文字を示します。

$string = "This is\tan example\nstring"; 
$tok = strtok($string, " \n\t"); #空格,换行,TAB while ($tok !== false) { 
echo "$tok<br />"; 
$tok = strtok(" \n\t"); 
} 
echo "-------------<br />";
ログイン後にコピー

実行結果:

This 
is 
an 
example 
string 
-------------
ログイン後にコピー
$string = "abcde 123c4 99sadbc99b5232"; 
$tok = strtok($string, "bc"); 
while ($tok !="") { 
echo "$tok<br />"; 
$tok = strtok("bc"); 
} 
echo "-------------<br />";
ログイン後にコピー

実行結果:

a 
de 123 4 99sad 
99 5232 -------------
ログイン後にコピー

例 4: for を使用してトラバースする例:

$line = "leon\tatkinson\tleon@clearink.com"; 
for($token = strtok($line,"\t");$token!="";$token=strtok("\t")) 
{ 
print("token: $token<BR>\n"); 
}
ログイン後にコピー

実行結果:

token: leon 
token: atkinson 
token: leon@clearink.com
ログイン後にコピー

要約:

これを勉強することでこれを知る記事 strtok() 関数とexplode() 関数の違いは、仕事の特定の状況に応じて特定の関数の使用を選択できることです。これがあなたの仕事に役立つことを願っています。

関連する推奨事項: php lode() 関数でのexplode() 関数の適用の詳細な説明 定義の詳細な説明

以上がPHPのexplode()関数とstrtok()関数の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート