PHPのsscanf()関数
例
文字列を解析します。
<?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を含んでいます。
関連機能:
- printf() -フォーマット済みの文字列を出力します
- sprintfは() -変数にフォーマットされた文字列を書き込みます
文法
sscanf( string,format,arg1,arg2,arg++ )
参数 | 描述 |
---|---|
string | 必需。规定要读取的字符串。 |
format | 必需。规定要使用的格式。 可能的格式值:
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
注释:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。 |
arg1 | 可选。存储数据的第一个变量。 |
arg2 | 可选。存储数据的第二个变量。 |
arg++ | 可选。存储数据的第三、四个变量。依此类推。 |
技術的詳細
戻り値: | 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の文字列リファレンス