CSV
1ぶどう,100,2個\r\n 2みかん,50,10個\r\n 3いちご,500,1パック\r\n 4EOF
PHP
1<?php 2 3// データを格納する 4$csv = ""; 5 6// ファイルからデータを読み込む 7$filename = 'fruits.csv'; 8$fp = fopen($filename, 'r'); 9while (!feof($fp)) { 10 $csv = $csv . fgets($fp); 11} 12fclose($fp); 13 14// 読み込んだデータを配列に格納 15$csv_array = explode("\r\n", $csv); 16 17echo(count($csv_array));
上記のPHPで上記のCSVを読み込むと、echo(count($csv_array));
の値が4になります。つまり、CSVの行数が4とカウントされてしまっています。EOF
をいちご,500,1パック
の後ろにすると、echo(count($csv_array));
の値は3になります。
上記CSVのように、EOFがデータ行とは別になっている場合でも、echo(count($csv_array));
の値が3になるように、CSVのデータを配列に格納したいです。
どのような方法があるか、ご教授のほどよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー