英语轻松读发新版了,欢迎下载、更新

PHP一个数组问题,急求大神给解决下,跪求解决,希望早上一起来就有大神帮忙解决了,谢谢

Error 发布于 2016年01月20日 | 更新于 2016年01月20日
无人欣赏。 1人反对。

现有一个数组是这样的

$arr = array(
        '0'=> array(
            '0'=>array(
                'price'=> '118080814c7565909',
                'count'=> '100',
                'money'=> '200',
            ),
            '1'=>array(
                'price'=> '118080814c7eca590',
                'count'=> '10',
                'money'=> '27',
            ),
            '2' =>array(
                'price'=> '118080814c7eca5901',
                'count'=> '19',
                'money'=> '200',
            ),
        ),
        '1'=>array(
            '0'=>array(
                'price'=> '118080814c7565979',
                'count'=> '100',
                'money'=> '200',
            ),
            '1'=>array(
                'price'=> '118080814c7eca888',
                'count'=> '101',
                'money'=> '27',
            ),
            '2' =>array(
                'price'=> '118080814c7eca59000',
                'count'=> '160',
                'money'=> '200',
            ),
        ),
        '2'=>array(
            '0'=>array(
                'price'=> '118080814c7565009',
                'count'=> '190',
                'money'=> '230',
            ),
            '1'=>array(
                'price'=> '118080814c7eca670',
                'count'=> '120',
                'money'=> '217',
            ),
            '2' =>array(
                'price'=> '118080814c7eca5098',
                'count'=> '120',
                'money'=> '205',
            ),
        )
    );

我需要的是计算出这个三维数组里面的小数组里面count 相加的和,这个三维里面有三个小数组,小数组里面还有三个数组,要求的就是这三个第二维里面的数组count的和, 我foreach 出来然后 += 是把这个三维数组里面所有的count 都相加了,我现在不需要求全部的和,需要分别的和,求帮忙在下面发下解决的方式,谢谢!

共4条回复
Error 回复于 2016年01月20日

有就是得出这3个分别的和,我这个只是发的个例子,真实的不止这几条,后面还有很多数组

Millson 回复于 2016年01月20日

两个foreach就行了,实在要代码的话

$total_arr = array();
foreach($arr as $key=>$val)
{
    $tmp = 0;
    foreach($val as $v){
            $tmp += $v['count'];
    }
    $total_arr[$key] = $tmp;
}
print_r($total_arr);
Error 回复于 2016年01月20日

2楼 @Millson x非常感谢,现在还有个问题是这样的


$arr = array(
        '0'=> array(
            '0'=>array(
                'price'=> '118080814c7565909',
                'count'=> '100',
                'money'=> '200',
            ),
            '1'=>array(
                'price'=> '118080814c7eca590',
                'count'=> '10',
                'money'=> '27',
            ),
            '2' =>array(
                'price'=> '118080814c7eca5901',
                'count'=> '19',
                'money'=> '200',
            ),
        ),
        '1'=>array(
            '0'=>array(
                'price'=> '118080814c7565979',
                'count'=> '100',
                'money'=> '200',
            ),
            '1'=>array(
                'price'=> '118080814c7565909',
                'count'=> '101',
                'money'=> '27',
            ),
            '2' =>array(
                'price'=> '118080814c7eca590',
                'count'=> '160',
                'money'=> '200',
            ),
        ),
        '2'=>array(
            '0'=>array(
                'price'=> '118080814c7565909',
                'count'=> '190',
                'money'=> '230',
            ),
            '1'=>array(
                'price'=> '118080814c7eca590',
                'count'=> '120',
                'money'=> '217',
            ),
            '2' =>array(
                'price'=> '118080814c7565909',
                'count'=> '120',
                'money'=> '205',
            ),
        )
    );

这个数组里边有一些price ID是相同的,现在想把这些相同price 的数组的count 相加起来,请帮忙再解答写,非常感谢

limao12311111 回复于 2016年01月20日
<?php
$data = [];
foreach($arr as $key=>$val)
{
    foreach($val as $v){
        isset($data[$v['price']]) or $data[$v['price']] = 0;
        $data[$v['price']]+=$v['count'];
    }
}
print_r($data);
登录 或者 注册