概要
strtok()
は文字列を指定したトークンで分割する。
イテレーターとして順次取り出す操作に注意。
処理の流れ
以下のように、最初に文字列を指定してstrtok()
を実行した後、文字列指定なしで実行し、切り分けられる文字列がなくなった時に結果がfalse
になる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$str = 'abc?def?ghi'; $tok = strtok($str, '?'); var_dump($tok); echo '<br>'; // string(3) "abc" $tok = strtok('?'); var_dump($tok); echo '<br>'; // string(3) "def" $tok = strtok('?'); var_dump($tok); echo '<br>'; // string(3) "ghi" $tok = strtok('?'); var_dump($tok); echo '<br>'; // bool(false) |
一般的な利用例
1 2 3 4 5 6 7 8 9 10 11 |
$str = 'abc?def?ghi'; $tok = strtok($str, '?'); while($tok != false) { var_dump($tok); echo '<br>'; $tok = strtok('?'); } // string(3) "abc" // string(3) "def" // string(3) "ghi" |
以下のように複数のトークン文字を指定できる。
1 2 3 4 5 6 7 8 |
echo '<pre>'; $str = 'abc?def.ghi'; $tok = strtok($str, '?'); while($tok != false) { var_dump($tok); echo '<br>'; $tok = strtok('.?'); } |