第5章 組み込み関数 / 第3回 模擬試験

PHPの`fgetcsv()`関数に関する次の記述のうち、正しいものはどれか。

`fgetcsv()`はCSV形式のファイルから1行を読み込み、配列として返す。 正解
`fgetcsv()`はファイルの内容をすべて一度に読み込む関数である。
`fgetcsv()`はファイルへの書き込み専用の関数である。
`fgetcsv()`はJSON形式のファイルを読み込むための関数である。
解説
`fgetcsv($handle)`は、`fopen()`などで開いたファイルポインタから、CSV形式の1行を読み込み、カンマなどの区切り文字で分割した「配列」として返す関数です。ファイルを1行ずつ処理したいときに使います。 他の選択肢が誤りである理由は次の通りです。 ・ファイルの内容を一度にすべて読み込みたい場合は、`file()`や`file_get_contents()`を使います。`fgetcsv()`はあくまで1行ずつの読み込みです。 ・`fgetcsv()`は「読み込み」用の関数です。書き込みには`fputcsv()`を使います。 ・`fgetcsv()`はCSV形式専用の関数です。JSON形式を扱う場合は`json_decode()`を使います。 例: ``` $handle = fopen('data.csv', 'r'); while (($row = fgetcsv($handle)) !== false) { print_r($row); } fclose($handle); ``` (参照: 独習PHP 第4版 第5章 組み込み関数 5.5.6節 fgetcsv関数 p.244〜246)