0

したがって、複数の CSV ファイルを読み取り、それらのヘッダーを (重複を削除して) マージし、値を最終的な (マージされた) CSV ファイルに入れる必要があります。SplFileObject初めて使ってみます。私はファイルを読むことから始めました。以下、詳細です

file1.csv

"A","B","C","D
1,2,3,4

マージ.csv

$file = new SplFileObject('file1.csv');
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
    print_r($row);
}

以下を出力します。

Array
(
    [0] => A
    [1] => B
    [2] => C
    [3] => D
1,2,3,4
)

次の行に別の配列を作成しなかったのはなぜですか?

4

1 に答える 1

2

これを試して、データを配列に保存して印刷してください。

$file = new SplFileObject('file1.csv');
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
   $new_array[] = $row;
}
print_r($new_array);

出力

Array
(
    [0] => A
    [1] => B
    [2] => C
    [3] => D
    [4] => 1
    [5] => 2
    [6] => 3
    [7] => 4
)

または これを試してください、

$file = fopen('file1.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
  //$line is an array of the csv elements
  print_r($line);
}
fclose($file);
于 2016-10-07T06:58:56.303 に答える