У меня есть массив в следующем формате - по сути, это массив предварительно отформатированных строк 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 после преобразования в правильный формат создает CSV с разрывом строки и заключенный в двойные кавычки, просматриваемый в Блокноте или аналогичном, но не открываемый в Excel.
$parent_wholelines = array();
foreach ($output_array as $wholeline) {
$parent_wholelines[] = explode(',', $wholeline);
}
var_export
.print_r
не очень хорошо показывает нам точно, что такое ваши данные. - person Lightness Races in Orbit   schedule 21.07.2011