【发布时间】:2014-11-21 08:41:06
【问题描述】:
我正在尝试为 CSV 的每一行添加一个新数据“示例”。 csv 的行各不相同。标题列名称为 ExampleRow 没有分隔符,只有一个分隔符,即分号。
我正在使用 fputcsv,它必须有一个数组来用所需的数据填充 csv 文件。但在我的情况下,每个 csv 的行数都会发生变化。
到目前为止,它添加了新列,但我不明白如何在该列的每一行中放置相同的值?
<?php
$newCsvData = array(); // here should I specify the same data value "exemple data" for each line ? but how ?
if (($handle = fopen("exemple.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 9999, ";")) !== FALSE) {
$data[] = 'ExempleRow';
$newCsvData[] = $data;
}
fclose($handle);
}
$handle = fopen('exemple.csv', 'w');
foreach ($newCsvData as $line) {
fputcsv($handle, $line,';',' ');
}
fclose($handle);
?>
【问题讨论】:
-
为什么每个 CSV 更改的行数会成为问题?您一次添加一行。还是您的意思是每行都有不同数量的列?
-
不抱歉,我的问题具有误导性。基本上我需要为标题添加一个带有标题的列,并为每一行填充相同的值。现在整个列(包括标题标题)都填充了该值。我需要标题有一个标题,如:“标题标题”和列的其余部分,“我的每一行的值”。
标签: php arrays csv while-loop fgetcsv