fscanf

(PHP 4 >= 4.0.1, PHP 5)

fscanf -- フォーマットに基づきファイルからの入力を処理する

説明

mixed fscanf ( resource handle, string format [, mixed &...] )

関数fscanf()sscanf() に 似ていますが、handleが指すファイルから入力 を取得し、指定したフォーマット formatに基 づき解釈を行います。フォーマットについては sprintf() に解説されています。 この関数のパラメータが二つだけの場合、処理さ れた値は配列として返されます。他方、オプションのパラメータが指定 された場合、この関数は、代入された値の数を返します。オプション引 数は参照渡しとする必要があります。

フォーマット文字列におけるあらゆる空白は 入力ストリームのあらゆる空白にマッチします。 これはつまりフォーマット文字列の\t(タブ)すらも 入力ストリームの空白1個にマッチしてしまうことを意味します。

例 1. fscanf()の例

<?php
$handle
= fopen("users.txt", "r");
while (
$userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
    list (
$name, $profession, $countrycode) = $userinfo;
    
//... これらの値を使用して何か行う
}
fclose($handle);
?>

例 2. users.txt の内容

javier  argonaut        pe
hiroshi sculptor        jp
robert  slacker us
luigi   florist it

注意: PHP 4.3.0未満では、ファイルから読み込む文字の最大数は512 (または最初に\nが現れるまで)でした。 PHP 4.3.0以降では任意の長い行を読みスキャンすることができます。

fread(), fgets(), fgetss(), sscanf(), printf(), sprintf() も参照ください。