如何获取特定数组索引值的总和

时间:2017-02-23 11:42:14

标签: php arrays sum

我正在从文件中读取数据并显示如下代码的数组:

  if (($fp = fopen("test.txt", "r")) !== FALSE) {       
    $count = 0;
    while(($row = fgetcsv($fp)) !== FALSE)
    {


        $row = explode("|",$row[0]);
        foreach($row as &$el)
        {
            $el=trim($el);

        }
        $count++;
                $tot = array_sum(array_column($row,2));
        echo "<pre>";print_r($row); 
                if($count>3)
        {
            break;  
        }
      echo "Coumt :".$tot;  
    }

          echo "Coumt :".$tot;
    fclose($fp);
}

Test.txt文件数据:

005-4410040             |BIRM|      0 
005-4410040             |CHI |  
450 005-4410040         |CIN |    144

我想要数组的第二个索引的总和,它意味着320 + 450 + 144在单独的变量中。

我怎样才能做到这一点?已经尝试过array_column但它无法正常工作。

更新我尝试的内容:

$sum = array_sum(array_column($row,$row['2']));

1 个答案:

答案 0 :(得分:1)

您正在调用错误的序列

$arr=array(array
(
     0  => "005-4410040",
     1  => "BIRM",
     2  => 320
),
array
(
     0  => "005-4410040",
     1  => "CHI",
     2  => 450
),
array
(
     0  => "005-4410040",
     1  => "CIN",
     2  => 144
));
echo (array_sum(array_column($arr, 2)));