PHP sscanf() 関数
例
解析する文字列:
<?php $str = "age:30 weight:60kg"; sscanf($str,"age:%d weight:%dkg",$age,$weight); // 型と値を表示 var_dump($age,$weight); ?>
定義と用法
sscanf() 関数は指定されたフォーマットに基づいて文字列からの入力を解析します。sscanf() 関数はフォーマット文字列に基づいて変数に文字列を解析します。
この関数に2つのパラメータのみを渡すと、データは配列の形式で返されます。もしくは、追加のパラメータを渡すと、解析されたデータはこれらのパラメータに格納されます。区切り文字の数が変数の数よりも多い場合、エラーが発生します。ただし、区切り文字の数が変数の数よりも少ない場合、追加の変数には NULL が含まれます。
関連関数:
文法
sscanf(string,format,arg1,arg2,arg++)
パラメータ | 説明 |
---|---|
string | 必須。読み込む文字列を指定します。 |
format |
必須。使用するフォーマットを指定します。 可能なフォーマット値:
追加のフォーマット値。% とアルファベットの間に配置する必要があります(例:%.2f):
注釈:上記のフォーマット値を使用する場合、その順序で使用する必要があります。 |
arg1 | オプション。データを格納する第1の変数。 |
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); ?>