strtok
(PHP 3, PHP 4, PHP 5)
strtok -- 文字列をトークンに分割する
説明
string
strtok ( string str, string token )
strtok() は文字列 (str
)
を 何らかの文字 token
によって区切られている小さな文字列 (トークン)
に分割するために使用されます。
"This is an example string" のような文字列がある場合、
空白文字をトークンとして個々の単語にこの文字列を分割することがで
きます。
例 1. strtok()の例
<?php $string = "This is\tan example\nstring"; /* Use tab and newline as tokenizing characters as well */ $tok = strtok($string, " \n\t");
while ($tok !== false) { echo "Word=$tok<br />"; $tok = strtok(" \n\t"); } ?>
|
|
strtok は最初のコールの時のみ string 引数を使用することに注意してください。
strtok は、文字列のどこにいるのかの情報を保持しているため、
2回目以降のコールではトークンのみを必要とします。
最初からやりなおす場合や新しい文字列をトークンに分割する場合、
初期化するために再度string引数を指定してstrtokをコールします。
文字列は、引数の文字のどれかが見つかったはトークンに分割されます。
空の部分が見つかった場合の動作はPHP 4.1.0で変更されました。古い動
作は、空の文字列を返しますが、新しい、正しい動作は、文字列のその
部分を単に飛ばします。
例 2. 古いstrtok()の動作
<?php $first_token = strtok('/something', '/'); $second_token = strtok('/'); var_dump($first_token, $second_token); ?>
|
出力:
string(0) ""
string(9) "something" |
|
例 3. 新しいstrtok()の動作
<?php $first_token = strtok('/something', '/'); $second_token = strtok('/'); var_dump($first_token, $second_token); ?>
|
出力:
string(9) "something"
bool(false) |
|
警告 |
この関数は論理値
FALSE を返す可能性がありますが、FALSE として評価される
0 や "" といった値を返す可能性もあります。
詳細については 論理値の
セクションを参照してください。この関数の返り値を調べるには
===演算子 を
使用してください。 |
split(),
explode()
も参照ください。