Я экспортирую данные в CSV-файл, используя fputcsv
. У меня есть строки, которые пишутся, но у меня есть требование, чтобы данные были обернуты в двойные кавычки.Добавить цитаты в CSV-экспорт
foreach ($orderDetails['lines'] as $line) {
fputcsv($orderImportCsv, $line);
}
Это создает следующие при открытии в редакторе (возвышенного)
L, M3344,, 100
L, M3356,, 50
Мне нужно каждое из этих полей завернулось в двойные кавычки.
Так что я попытался это:
foreach ($lines as &$line) {
foreach ($line as &$column) {
$column = '"' . $column . '"';
}
}
Так, по существу, это должно пройти через каждые полей строк и завернуть его в «». Однако после запуска, что я получаю следующий результат:
"" "L" "" "" "M3344" "" "" "" "" "" "100" ""
«» «L» «» «» «M3356» «» «» «» «» «» «50» «»
Это теперь положить 2 комплекта двойных кавычек вокруг переменной!
Есть ли лучший способ сделать это?
UPDATE
Я знаю fputcsv
имеет два необязательных параметра. Разделитель и корпус. Однако я считаю, что вложение по умолчанию «", но только тогда, когда строка разделяется на отдельные слова.
Хотя работа вокруг этого, кажется, чтобы сделать работу. спасибо – iamjonesy
Этот обходной путь определенно делает трюк, ОДНАКО, это раздражает, что fputcsv() добавляет дополнительные пробелы вокруг всего, когда «" используется как параметр $ enclosure, но не позволяет пустую строку в качестве самого приложения $. – hberg