【发布时间】:2018-02-18 23:34:00
【问题描述】:
我有一个多维数组$csv包含以下内容。
Array ( [0] => JOHN WILLIAMS [1] => 6/8/1998 [2] => 55456434E [3] => 4321 )
Array ( [0] => SARAH JONES [1] => 15/01/1982 [2] => 56834645Q [3] => 1234 )
Array ( [0] => JAMES BRENNAN [1] => 09/05/1978 [2] => 25689514W [3] => 8575)
我从 csv 文件中获取了这个数组来更新文件中的一个元素。现在它已更新,我想将更新的元素添加回新的 csv 文件。
$csv = array();
$lines = file("persistence/employee_data.csv", FILE_IGNORE_NEW_LINES);
foreach ($lines as $key => $value)
{
$csv[$key] = str_getcsv($value);
}
我想将此更新后的数组写入新的 csv 文件,但您无法将多维数组写入 csv 文件。我想把这个数组转换成这样的东西
Array ( [0] => JOHN WILLIAMS [1] => 6/8/1998 [2] => 55456434E [3] => 4321 )
Array ( [0] => SARAH JONES [1] => 15/01/1982 [2] => 56834645Q [3] => 1234 )
Array ( [0] => JAMES Brennan [1] => 09/05/1978 [2] => 25689514W [3] => 8575
)
所以我可以很容易地使用fputcsv()函数将数组的内容写入一个csv文件。
$dataSrc = "persistence/employee_data.csv";
$outFile = fopen($dataSrc, "w") or die("Unable to open file!");
fputcsv($outFile, $csv);
fclose($outFile);
csv 文件中的格式如下所示(不包括附件)。
JANE WILLIAMS,6/8/1998,55846874E,4321
SARAH JONES,15/01/1982,56897547Q,1234
JAMES BRENNAN,09/05/1978,25689514W,8575
最好的方法是什么?
编辑
只是简单地为每个语句使用了一个 lol。
$dataDest = "persistence/employee_data.csv";
$outFile = fopen($dataDest, "w") or die("Unable to open file!");
foreach($csv as $value){
fputcsv($outFile, $value);
}
fclose($outFile);
【问题讨论】: