PHP strtok() 関数の例 application_PHP チュートリアル

WBOY
リリース: 2016-07-21 14:52:33
オリジナル
834 人が閲覧しました

explode()と比較して、strtok()関数はリズムを制御できます。必要に応じて紐をカットします。その利点は次のとおりです:
1. 複数のセパレータを一度に定義できます。関数が実行されると、区切り文字全体ではなく 1 つの区切り文字によってカットされますが、エクスプロードは区切り文字文字列全体によってカットされます。このため、explode は中国語でカットできますが、strtok はカットできず、文字化けします。
2. strtok() で while または for を使用してトラバースする場合、いつでも区切り文字を変更したり、break を使用していつでも切断を終了したりできます。
例 1: 中国語 + 爆発を使用した切断のデモンストレーション
$string = "これは、PHP フォーラム フォーラム セクション フォーラム コラム H 管理者フォーラム メンバーです。"; $arr =explode("フォーラム",$string); foreach($arr as $v)
{
echo $v."
"; }
エコー "-------------
"; 戻る:
これはPHPです
セクション
コラム
ハドミン
メンバー
-------------
例 2: カッターの変更を示します。後で WHILE に「H」区切り文字がないことに注意してください。代わりにスペースを使用してください。
$string = "これは、PHP フォーラム フォーラム セクション フォーラム コラム H 管理者フォーラム メンバーです。"; $tok = strtok($string, "H") //スペース+H
; $n=1; while ($tok !== false) {
エコー "$tok
"; $tok = strtok(" ") //スペース
; //if($n>2)break; //いつでも飛び出すことができます。
//$n++
}
エコー "-------------
"; 戻る:
Pです
Pフォーラム
フォーラムセクション
フォーラムセクション
フォーラムH管理人
フォーラムメンバー
-------------
例 3: 複数の区切り文字を示します。
$string = "この例の文字列"; $tok = strtok($string, "nt"); #スペース、改行、TAB
while ($tok !== false) {
エコー "$tok
"; $tok = strtok("nt"); }
エコー "-------------
"; 戻る:
これ



文字列
-------------
$string = "abcde 123c4 99sadbc99b5232"; $tok = strtok($string, "bc"); while ($tok !="") {
エコー "$tok
"; $tok = strtok("bc"); }
エコー "-------------
"; 戻る:

デ123
4 99悲しい
99
5232
-------------
例 4: for を使用してトラバースする例:
$line = "leontatkinsontleon@clearink.com"; for($token = strtok($line,"t");$token!="";$token=strtok("t"))
{
print("トークン: $token
n"); }
戻る:
トークン: レオン
トークン: アトキンソン
トークン: leon@clearink.com




http://www.bkjia.com/PHPjc/371539.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/371539.html

技術記事

strtok()関数はexplode()と比べてリズムを制御することができます。必要に応じて紐をカットします。利点は次のとおりです。 1. 複数のセパレータを一度に定義できます。関数が実行されるとき、単一の区切り文字に基づいて実行されます...



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