没有什么能真正实现我想要实现的目标。我有以下数组:
Array(
[0] => Array
(
[chicken] => 7
)
[1] => Array
(
[cheese] => 9
)
[2] => Array
(
[marinade] => 3
)
[3] => Array
(
[cookbook] => 7
)
[4] => Array
(
[chicken] => 11
)
[5] => Array
(
[cheese] => 6
)
[6] => Array
(
[marinade] => 12
)
)
我想通过它们的键求和所有值。如果键在数组中是多次,例如chicken
,我想对这些值求和。
array
(
[chicken] => 18,
[cheese] => 16
... etc
)
答案 0 :(得分:1)
因此,您首先需要循环遍历第一个数组以获得第二级数组。然后,您可以从每个数组中获取当前键和值,将与该键关联的新数组中的值相加。
// where the sums will live
$sum = [];
foreach($array as $item) {
$key = key($item);
$value = current($item);
if (!array_key_exists($key, $sum)) {
// define the initial sum of $key as 0
$sum[$key] = 0;
}
// add value to the sum of $key
$sum[$key] += $value;
}
答案 1 :(得分:0)
这里有个简单的例子,希望对您有所帮助。
$result = array();
foreach($data as $key => $value)
{
$valueKey = key($value);
$result[$valueKey] += $value[$valueKey];
}