我想从 PHP 中将两个数组另存为 CSV 文件。问题是此代码仅适用于第一个呼叫。例如,在下面给出的示例中,我只能保存array1
,但array2
不能保存。如果我交换 和 的位置array1
,array2
那么array2
将被保存而不是array1
。我的代码实际上有什么问题,我该如何解决这个问题?
header("Content-type: text/csv");
header("Pragma: no-cache");
$headers = array('xxx','yyy','zzz');
saveCSV($array1,"file1.csv",$headers);
header("Content-type: text/csv");
header("Pragma: no-cache");
$headers = array('aaa','bbb','ccc');
saveCSV($array2,"file2.csv",$headers);
function saveCSV($data,$fileName,$headers) {
$outstream = fopen($fileName, "a");
file_put_contents($fileName, "");
if ($headers != 0)
fputcsv($outstream,$headers);
function __outputCSV(&$vals, $key, $filehandler) {
fputcsv($filehandler, $vals);
}
array_walk($data, "__outputCSV", $outstream);
fclose($outstream);
}