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つずつ順次処理できる点が特徴です。大きな文字列を少しずつ処理したい場合や、ループ内で逐次的にトークンを取り出したい場合に便利です。ただし、内部状態を保持する特性上、同時に複数の文字列を扱う際には注意が必要です。
-
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
-
PHPのnl_langinfo()関数の使い方をわかりやすく解説
PHPのnl_langinfo()関数は、現在のロケール(言語・地域設定)に関する情報を取得するための関数です。曜日名や月名、通貨記号、数値の書式など、ロケール固有のさまざまな情報を要素単位で取り出すことができます。通常、setlocale()でロケールを設定した後に使用します。 注意: この関数はWindows環境では動作しません。LinuxなどのUNIX系プラットフォームでのみ利用可能です。 構文 nl_langinfo(ele) パラメータ ele − 取得したい情報の要素を指定します。指定できる主な要素は以下の通りです。 時刻・カレンダー関連 ABDAY_(1-7) − 番号で指