我无法计算数组值的总和 我的数组是
$bar_chart_data =
array(
array(
array("Data1",548.25),
array("Data2",238.75),
array("Data3",95.50),
array("Data4",300.50),
array("Data5",286.80),
array("Data6",148.25)
)
);
我使用这个PHP代码来计算结果,但它总是给我 0
$sumArray = array();
foreach ($bar_chart_data as $k=>$subArray) {
foreach ($subArray as $id=>$value) {
$sumArray[$id]+=$value;
}
}
print_r($sumArray);
答案 0 :(得分:2)
您的$id
在所有迭代中都有所不同。
您必须使用$sumArray[$k]+=$value[1];
。
您还需要在两个$sumArray[$k]
之间初始化0
到foreach
。
答案 1 :(得分:0)
我相信你有一个包含子数组的数组,你想得到每个子数组中所有值的总和。
我建议您使用关联子数组来简化任务。
Declare @YourTable Table ([Phone] varchar(50))
Insert Into @YourTable Values
('(888) 477-8977x110')
,('(888) 477-8977 ext 110')
,('(888) 477-8977 extention 110')
,('(888) 477-8977 e 110')
,('888.477.8977ext110')
,('(888) 477-8977')
Select *
,Ext = ltrim(NullIf(reverse(ltrim(left(reverse(Phone),patindex('%[a-z]%',reverse(Phone)+'a')-1))),Phone))
From @YourTable
答案 2 :(得分:0)
您只需要一个循环,然后在索引1
处提取值并将它们相加:
foreach($bar_chart_data as $values) {
$sumArray[] = array_sum(array_column($values, 1));
}
如果需要,您可以添加$k => $values
并使用$sumArray[$k]
,但无论数据显示方式如何,它都可以正常运行。