有没有办法将数组的内容保存为现有文件中的新列?
我的数组$total_sum
:
Array
(
[0] => 2318
[1] => 392
[2] => 753
[3] => 555
)
添加到现有file.tsv
:
id type sum
152 new 2318
998 new 392
556 old 753
281 new 555
我试过了:
foreach($total_sum as $val) {
fwrite('/var/file.tsv', $val);
}
但它一直给我一个关于类型流的错误。只是想检查这是否可以在PHP中?如果它没有包含在数组中,你如何添加列标题'sum'? <困惑>非常感谢任何帮助!
答案 0 :(得分:1)
您需要先读取文件的旧内容,这样才能将新列附加到每一行。
$filename = '/var/file.tsv';
$orig = file($filename, FILE_IGNORE_NEW_LINES);
$fp = fopen($filename, 'w');
foreach ($orig as $i => $line) {
fwrite($fp, "$line\t{$total_sum[$i]}\n";
}
如果文件的标题行与您在示例中显示的一样,则应将sum
标题放在$total_sum
中以使其保持同步,或将其拼接出$orig
并且专门处理那条线。
答案 1 :(得分:0)
您fopen
首先提交了文件吗?
$f = fopen('/var/file.tsv', 'a');
foreach($total_sum as $val) {
fwrite($f, $val);
}
fclose($f);