使用php对csv文件中的行数据求和
我试图使用php对csv文件中的一行数据(数字)求和,以显示总数。这是我的csv文件: A 0.01使用php对csv文件中的行数据求和,php,arrays,csv,fgetcsv,Php,Arrays,Csv,Fgetcsv,我试图使用php对csv文件中的一行数据(数字)求和,以显示总数。这是我的csv文件: A 0.01 0.1 0.02 0.01 0.02 0.01 0.02 基本上,它是向前延伸的。A基本上是excel中的第一行字母表 基本上,它是向前延伸的。 我试图用PHP总结这一行 这是我目前的代码: if (($handle = fopen("file.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !==
0.1
0.02
0.01
0.02
0.01
0.02
基本上,它是向前延伸的。A基本上是excel中的第一行字母表 基本上,它是向前延伸的。 我试图用PHP总结这一行 这是我目前的代码:
if (($handle = fopen("file.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$data = array();
echo array_sum($data);
}
}
我的输出基本上是:000000000000000000000000000000000
我似乎不明白为什么?有人能帮我吗?你可以这样试试
<?php
$file = fopen("file.csv","r");
$sum = 0;
while(!feof($file)) {
$csv = fgetcsv($file,1024);
if(!$csv[0]){
print $sum."\n";
}
$sum = $sum + $csv[0];
}
看起来应该对列求和,而不是对行求和。如果使用空数组覆盖数据:$data=array();回波阵列和($数据)马克,我想你是对的。史蒂文:我明白了,那我怎么才能不覆盖它呢?明白了,一切都解决了!感谢莎西!您是否收到任何错误或根本没有输出?我得到了0.19以清楚地说明这一点,请尝试打印$sum。“\n”代码>嘿,萨西,谢谢你的帮助。但是什么都没有输出。然而,当我删除了!from:if(!$csv[0])
输出是整个数字列表加上末尾的总数。不过,我只需要显示最后的总和,而不是全部。如果问题出在If(!$csv[0])
上,那么请尝试我的更新代码,如果您可以在loopHi Sasi中回显数组的总和,非常感谢!这解决了我的问题!谢谢你的帮助!
<?php
$file = fopen("file.csv","r");
$sum = array();
while(!feof($file)) {
$csv = fgetcsv($file,1024);
array_push($sum,$csv[0]);
}
echo array_sum($sum)."\n";