PHP で CSV ファイルを解析して値を操作しようとしていますが、私のコードは CSV ファイルの最初の行からのデータしか返しません。
CSVファイルはこんな感じ
C, QXM0039326, , X6, 2288314208
C, QXP0039226, 7021130, X6, 100013427
php は次のようになります。
if (($handle = fopen("easy.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",", "\n")) !== FALSE)
{
// do something with the data here
echo $data[0] . " - ". $data[1] . " - ". $data[2] . "</br>" ;
}
fclose($handle);
}
これにより、$data[0] などの期待される結果が生成されますが、csv の最初の行のみが生成されます。したがって、次のような出力結果が得られます。
C - QTM0039326 - 2288314208
これはまさに私が望む出力ですが、CSV のすべての行に対してです。
$data を次のように反復しようとしました
if (($handle = fopen("easy.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",", "\n")) !== FALSE)
{
// do something with the data here
foreach ($data as $row){
echo $row[0] . " - ". $row[1] . " - ". $row[4] . "</br>" ;
}
fclose($handle);
}
}
しかし、これは私に次のような本当に素晴らしい結果をもたらします(続きます):
C - -
Q - T - 0
- -
X - 6 -
2 - 2 - 3
私が求めている結果を得るにはどうすればよいですか (つまり C - QTM0039326 - 2288314208 )、CSV のすべての行に対して?