我有一个多维数组,我需要添加一些数据。
我的数组看起来像这样(我为这个例子裁剪了更多的数据):
Array
(
[0] => Array
(
[date] => 20-02-2014
[tool] => mystuff1
[usage] => 447
[minutes] => 6705
)
[1] => Array
(
[date] => 20-02-2014
[tool] => mystuff2
[usage] => 20
[minutes] => 1200
)
将有多个具有tool = mystuff1的子数组,我想为所有拥有mystuff1的子项添加“分钟”键。最终我想对mystuff2加起来做同样的事情(还有其他'工具'键,除了那些也将完成。)
我已经尝试了几个我在这个网站上找到的例子,但它们看起来总是基于1个关键名称,即'分钟',但我找不到任何可以在“工具”匹配的情况下总结“分钟”的内容。
答案 0 :(得分:1)
您可以遍历数组并将分钟值添加到输出数组的数组键:
$output = array();
foreach($your_array as $current) {
// create the array key if it doesn't exist already
if(!array_key_exists($current['tool'], $output))
$output[$current['tool']] = 0;
// add minutes to the current tool total
$output[$current['tool']] += $current['minutes'];
}
这样你就可以得到这样的结果:
Array
(
[mystuff1] => 6705
[mystuff2] => 1200
)