Forum und email

strtok

(PHP 4, PHP 5)

strtok — 文字列をトークンに分割する

説明

string strtok ( string $str , string $token )

strtok() は文字列 (str ) を 何らかの文字 token によって区切られている小さな文字列 (トークン) に分割するために使用されます。 "This is an example string" のような文字列がある場合、 空白文字をトークンとして個々の単語にこの文字列を分割することがで きます。

Example#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で変更されました。古い動 作は、空の文字列を返しますが、新しい、正しい動作は、文字列のその 部分を単に飛ばします。

Example#2 古いstrtok()の動作

<?php
$first_token  
strtok('/something''/');
$second_token strtok('/');
var_dump($first_token$second_token);
?>

出力:

    string(0) ""
    string(9) "something"

Example#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() も参照ください。