【发布时间】:2020-10-05 16:09:39
【问题描述】:
我正在使用 kirby cms 和一些 php 从 csv 文件的数据生成文本文件。
在我的 csv 文件的数据中,有几个段落在文本中带有换行符。 我需要将这些换行符保留在生成的文本文件中。
这里是代码
<?php
function csv(string $file, string $delimiter = ','): array{
$lines = file($file);
$lines[0] = str_replace("\xEF\xBB\xBF", '', $lines[0]);
$csv = array_map(function($d) use($delimiter) {
return str_getcsv($d, $delimiter);
}, $lines);
array_walk($csv, function(&$a) use ($csv) {
$a = array_combine($csv[0], $a);
});
array_shift($csv);
return $csv;
}
我试图弄清楚如何将这些换行符保留在文本文件中。 谢谢 ! ????
【问题讨论】:
-
你应该enable warnings。然后您会在
$a = array_combine($csv[0], $a);行看到一条警告,其文本为:“警告:array_combine():两个参数应具有相同数量的元素” -
感谢您的回复。我做到了,我收到了这条信息。当我删除 csv 中的换行符时,一切正常,没有错误消息。但我需要保留这些换行符。