问题
我是一个新手,所以这可能很容易,但我被卡住了
我有一个CSV文件,其中一行看起来像这样:
kamis;4.0,45;0,69
用户可以上传文件并在上面应用一些数学运算。然后他可以下载应用了数学运算的文件。我已将CSV转换为阵列
[0]=> array(5) { ["nazwa"]=> string(5) "kamis" ["iloć"]=> string(1) "4" ["koszt"]=> string(4) "0,45" ["cena"]=> string(4) "0,69" [""]=> string(0) "" }
现在,我想将所有"列"转换为数组,并对它们应用数学运算,然后将它们放入一个新的CSV文件中
问题
如何将CSV列放入单独的数组中,并在计算后将其放入新的CSV文件中?
这是我使用的一个函数,你只需向它传递一个文件名和一个关联的数据数组(就像你的例子一样(,它就会使用第一行中的任何键值作为列标题,然后输出所有行的值。如果没有其他东西,你应该能够从中学习:
public function outputCsv($fileName, $assocDataArray)
{
ob_clean();
header( 'Content-Type: text/csv' );
header( 'Content-Disposition: attachment;filename='.$fileName);
if(isset($assocDataArray['0'])){
$fp = fopen('php://output', 'w');
fputcsv($fp, array_keys($assocDataArray['0']));
foreach($assocDataArray AS $values){
fputcsv($fp, $values);
}
fclose($fp);
}
ob_flush();
}