TECH I.S.

PHP sscanf() 関数

❮ PHP 文字列リファレンス

文字列を解析します。

<?php $str = "age:30 weight:60kg"; sscanf($str,"age:%d weight:%dkg",$age,$weight); // show types and values var_dump($age,$weight); ?>


sscanf() 関数は、指定された形式に従って文字列からの入力を解析します。 sscanf() 関数は、フォーマット文字列に基づいて文字列を変数に解析します。

この関数に 2 つのパラメーターのみが渡された場合、データは配列として返されます。それ以外の場合、オプションのパラメーターが渡されると、解析されたデータがそれらに格納されます。それらを含む変数よりも多くの指定子がある場合、エラーが発生します。ただし、指定子が変数よりも少ない場合、余分な変数には NULL が含まれます。

関連機能:

  • printf()- フォーマットされた文字列を出力します
  • sprintf()- フォーマットされた文字列を変数に書き込みます

構文

<div>sscanf(<em>string,format,arg1,arg2,arg++</em>)</div>

パラメータ値

パラメータ

説明

必要。読み取る文字列を指定します
フォーマット 必要。使用する形式を指定します。

可能なフォーマット値:

  • %% - パーセント記号を返します
  • %c - ASCII 値による文字
  • %d - 符号付き 10 進数 (負、ゼロ、または正)
  • %e - 小文字を使用した科学表記 (例: 1.2e+2)
  • %u - 符号なし 10 進数 (ゼロ以上)
  • %f - 浮動小数点数
  • %o - 8 進数
  • %s - 文字列
  • %x - 16 進数 (小文字)
  • %X - 16 進数 (大文字)

追加のフォーマット値。これらは % と文字の間に置かれます (例 %.2f):

  • + (数値の前に + と - の両方を強制します。デフォルトでは、負の数値のみがマークされます)
  • ' (パディングとして使用するものを指定します。デフォルトはスペースです。幅指定子と一緒に使用する必要があります。例: %'x20s (これはパディングとして「x」を使用します)
  • - (変数値を左寄せ)
  • [0-9] (変数値に保持される最小幅を指定します)
  • .[0-9] (10 進数の桁数または文字列の最大長を指定します)

ノート:複数の追加のフォーマット値を使用する場合は、上記と同じ順序にする必要があります。

arg1 オプション。データを格納する最初の変数
arg2 オプション。データを格納する 2 番目の変数
引数++ オプション。 3 番目、4 番目など、データを格納する場所


技術的な詳細


戻り値:

この関数に 2 つのパラメーターのみが渡された場合、データが返されます。

配列として。それ以外の場合、オプションのパラメーターが渡された場合、解析されるデータは次のとおりです。
それらに保存されます。それらを含む変数よりも多くの指定子がある場合、
エラーが発生します。ただし、変数よりも指定子が少ない場合、余分な
変数に NULL が含まれています。

PHP バージョン:

4.0.1+

その他の例

フォーマット値 %s、%d、%c を使用:

<?php $str = "If you divide 4 by 2 you'll get 2"; $format = sscanf($str,"%s %s %s %d %s %d %s %s %c"); print_r($format); ?>

❮ PHP 文字列リファレンス


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細