0

我看过其他与我的问题几乎相似的帖子。但我找不到我的问题的正确答案。在这里,我有一个$data[4]如下所示的数组。

Array ( [0] => 0.84 ) Array ( [0] => 2.79 ) 

这是我的 php 代码,用于计算变量 $data[4] 中的值

$a= array();
foreach(array($data[4]) as $datas) {
    $a[] = $datas;
}
 print_r($a); 

 $sum = array_sum($a);
 echo $sum;

}

$data[4] 但结果不是计算,而是像这样显示数据数组中的值

0.84
2.79
4

2 回答 2

0

您有两个0索引为 in 的数组$data[4]。您必须将其展平$a,您可以添加额外的 foreach。

$a= array();
foreach(array($data[4]) as $datas) {
    foreach($datas as $item) { // here - extra foreach
        $a[] = $item;
    }
}
 print_r($a); 

 $sum = array_sum($a);
 echo $sum;

}

顺便说一句 - 考虑使用var_export更准确地显示数据中的内容:)

于 2020-02-25T08:44:08.920 回答
0

假设您的数组是这样的,$data[4] = [[0.89],[2.79]]那么您可以使用此代码来获取总和。

$sum = 0;
foreach($data[4] as $datas) {
    $sum +=  array_sum($datas);
}
echo $sum;
于 2020-02-25T09:06:40.400 回答