PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのstrtok()関数とは?文字列をトークン単位で分割する方法

PHPのstrtok()関数は、文字列をトークン(区切られた部分文字列)に分割するための関数です。指定した区切り文字に基づいて文字列を順番に分割し、トークンを1つずつ取得することができます。

構文

strtok(str, split)

パラメータ

  • str − 分割対象となる文字列を指定します。

  • split − 区切り文字として使用する1つ以上の文字を指定します。複数の文字を指定した場合、そのいずれかが区切り文字として扱われます。

戻り値

strtok()関数は、分割された文字列トークンを返します。これ以上トークンが存在しない場合は false を返します。

ポイント

最初の呼び出しでは元の文字列と区切り文字の両方を渡しますが、2回目以降の呼び出しでは区切り文字のみを渡します。これは、strtok()関数が内部状態を保持し、前回の続きからトークンの抽出を再開する仕組みになっているためです。

使用例

以下は、スペースを区切り文字として文字列を分割する例です。

<?php
    $str = "This is it!";
    $token = strtok($str, " ");

    while ($token !== false){
        echo "$token<br>";
        $token = strtok(" ");
    }
?>

出力結果

上記のコードを実行すると、各トークンが1行ずつ表示されます。

This<br>is<br>it!<br>

まとめ

strtok()関数は、explode()関数と似ていますが、トークンを1つずつ順次処理できる点が特徴です。大きな文字列を少しずつ処理したい場合や、ループ内で逐次的にトークンを取り出したい場合に便利です。ただし、内部状態を保持する特性上、同時に複数の文字列を扱う際には注意が必要です。

  1. PHPのquoted_printable_decode()関数とは?使い方とサンプルコードを解説

    PHPのquoted_printable_decode()関数は、quoted-printable形式でエンコードされた文字列を、8ビット文字列にデコードするために使用されます。メール本文などで使われるquoted-printableエンコーディングを元に戻したい場合に便利な関数です。 構文 quoted_printable_decode(str) パラメータ str − デコード対象となる入力文字列を指定します。 戻り値 quoted_printable_decode()関数は、デコード後の8ビットASCII文字列を返します。 使用例 以下は、quoted_printable_dec

  2. PHPのnl_langinfo()関数の使い方をわかりやすく解説

    PHPのnl_langinfo()関数は、現在のロケール(言語・地域設定)に関する情報を取得するための関数です。曜日名や月名、通貨記号、数値の書式など、ロケール固有のさまざまな情報を要素単位で取り出すことができます。通常、setlocale()でロケールを設定した後に使用します。 注意: この関数はWindows環境では動作しません。LinuxなどのUNIX系プラットフォームでのみ利用可能です。 構文 nl_langinfo(ele) パラメータ ele − 取得したい情報の要素を指定します。指定できる主な要素は以下の通りです。 時刻・カレンダー関連 ABDAY_(1-7) − 番号で指