フォーマットされたファイルを読み込む - fscanf()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、フォーマットされたファイルを読み込む fscanf()を紹介します。
fscanf 関数
mixed fscanf ( resource $handle , string $format )
フォーマットされたファイルを読み込みます。
引数 $handle fopen関数で正常にオープンされた、有効なファイルポインタを指定します。 $format sprintf関数のフォーマットを指定します。
返り値
読み込んだ値を配列で返します。
サンプルコード
フォーマットされたファイル(list.txt)を読み込むサンプルコードです。
作成したタブ区切りのファイルをfopen関数でファイルをオープンし、fscanf関数で1行ずつ読み込んでいます。
fscanf( ファイルポインタ, フォーマット )
<?php
/* 読み込むファイルを作成 */
$str = <<<EOD
Windows\tMac\tLinux\t10
C言語\tPHP\tjQuery\t20
EOD;
file_put_contents('list.txt', $str);
/* ファイルポインタをオープン */
$file = fopen("list.txt", "r");
/* ファイルを1行ずつ配列へ */
if( $file ){
while( $line = fscanf($file, "%s\t%s\t%s\t%d\n") ){
var_dump( $line );
}
}
/* ファイルポインタをクローズ */
fclose($file);
?>
実行結果です。
array(4) {
[0]=>
string(7) "Windows"
[1]=>
string(3) "Mac"
[2]=>
string(5) "Linux"
[3]=>
int(10)
}
array(4) {
[0]=>
string(7) "C言語"
[1]=>
string(3) "PHP"
[2]=>
string(6) "jQuery"
[3]=>
int(20)
}
読み込んだファイルが配列として返されています。