次の形式の配列があります。これは基本的に、フォーマット済みの CSV 行の配列です。この例のキー 0 と 1 には、改行を含む CSV 値があります。
Array
(
[0] => 'foo,foo,foo,foo
bar,foo,a:1:{i:0;s:4:"blah";}'
[1] => 'bar,bar,bar,bar
foo,bar,a:1:{i:0;s:4:"blah";}'
[1] => 'bar,bar,bar,foo,bar,a:1:{i:0;s:4:"blah";}'
)
私が次にやっていることは、それを\r\n
接着剤として使用して内破し、CSV ファイルを生成してから書き出すことです。問題は、結果のファイルが改行を含むフィールドを二重引用符で囲んでいないため、改行が保持されることです (または、少なくとも私はそれを想定しています)。
生成された CSV ファイルはデータベースにアップロードされるか、Excel で編集されます。改行はフィールドで保持する必要があります。
適切な形式に展開した後に fputcsv を使用すると、改行があり、メモ帳などで表示されるが Excel で開いたときに表示されない二重引用符で囲まれた CSV が生成されます。
$parent_wholelines = array();
foreach ($output_array as $wholeline) {
$parent_wholelines[] = explode(',', $wholeline);
}