フォーマットされた文字列を配列・変数に - sscanf()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、フォーマットされた文字列を配列に変換、あるいは変数に格納する関数 sscanf()を紹介します。
sscanf関数
mixed sscanf ( string $string , string $format [, mixed &$... ] )
文字列を指定したフォーマットに基づき配列に変換、あるいは変数に格納します。
引数 $string 文字列を指定します。 $format sprintf関数のフォーマットを指定します。 &$... 指定した変数にフォーマットに基づきパースされた値が格納されます。
返り値
参照渡しの変数を指定しない場合(関数の引数が2つ)、配列を返します。
指定した場合(&$...)、オプションで指定した変数の数を返します。
サンプルコード
フォーマットされた文字列を配列・変数に変換するサンプルコードです。
sscanf( 文字列, フォーマット, [, 格納する変数 ] )
<?php /* 文字列を定義 */ $date = "2013/09/20"; /* 参照渡しの変数を指定しない */ print_r( sscanf($date, "%d/%d/%d" ) ); /* 参照渡しの変数を指定 */ var_dump( sscanf($date, "%d/%d/%d", $y, $m, $d ) ); echo "$y 年 $m 月 $d 日\n"; ?>
実行結果です。フォーマットされた文字列が配列に変換、あるいは変数に格納されます。
Array ( [0] => 2013 [1] => 9 [2] => 20 ) int(3) 2013 年 9 月 20 日