PHP sscanf()関数
例
Parse a string:
<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// show types and values
var_dump($age,$weight);
?>
$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 | 必須。使用する形式(フォーマット)を指定します。 可能な形式値:
追加の形式値。% と文字の間に配置する必要があります(例: %.2f):
注:上記の形式値を複数使用する場合、それらは上記の順序に従って使用する必要があり、順序を変えることはできません。 |
| arg1 | オプション。データを格納する最初の変数。 |
| arg2 | オプション。データを格納する2番目の変数。 |
| arg++ | オプション。データを格納する3番目、4番目の変数。以下同様。 |
技術詳細
| 戻り値: | この関数に2つの引数のみを渡すと、データは配列として返されます。それ以外の場合、追加の引数を渡すと、解析されたデータはこれらの引数に格納されます。指定子の数が、それらを格納する変数の数より多い場合は、エラーが発生します。ただし、指定子の数が、それらを格納する変数の数より少ない場合は、追加の変数には NULL が含まれます。 |
|---|---|
| PHP バージョン: | 4.0.1+ |
その他の例
例 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);
?>
$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 String リファレンスマニュアル その他の拡張