将CSV中的数据写入Array到新的CSV中


Write data from a CSV to Array to new CSV

我正试图从CSV中提取数据,在其中一些上运行函数并将其吐出到新的CSV中。我卡住了,并正确地将数据写入数组。同样,文件被创建,但它是空的。

PHP

$file = fopen("yahrzeit-3.csv","r");
if ($file) {
  while ( ( $row = fgetcsv( $file, ";" ) ) !== false ) { // 3
  $data .= array ( $row[2], $row[3], $row[6], $row[7], $row[8], $row[14] );
}
print_r($data);
$fp = fopen('mailchimp.csv', 'w');
foreach ($data as $fields) {
    print $subfields;
    fputcsv($fp, $fields);
}
fclose( $fh ); // 5
}
fclose($fp);
$file = fopen("yahrzeit-3.csv","r");
if ($file) {
    $fp = fopen('mailchimp.csv', 'w');
    if (!$fp) {
        die('Cannot open output file');
    }
    while ( $row = fgetcsv( $file, ";" ) ) {
        $data = array ( $row[2], $row[3], $row[6], $row[7], $row[8], $row[14] );
        fputcsv($fp, $data);
    }
    fclose( $fp );
}
fclose($file);

更节省内存
$data .= array ( $row[2], $row[3], $row[6], $row[7], $row[8], $row[14] );
应该

$data[] = array ( $row[2], $row[3], $row[6], $row[7], $row[8], $row[14] );

您正在将$data设置为字符串,并试图将一个数组塞入其中