文字列をパースします:
<?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が含まれます。
関連する関数:
sscanf(string,format,arg1,arg2,arg++)
パラメータ | 説明 |
---|---|
string | 必須。読み込む文字列を指定する |
format | 必須。format to use. Possible format values:を指定する
フォーマットに追加指定できる値。これらは、%と文字の間に置きます (例 %.2f):
注:複数の追加フォーマット値を使用する場合は、上と同じ順序でなければならない。 |
arg1 | 任意。データを格納する最初の変数 |
arg2 | 任意。データを格納する2番目の変数 |
arg++ | 任意。データを格納する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);
?>
例の実行 »