繁体   English   中英

如何在多维数组中添加值?

[英]How to add values in multidimensional array?

我有一个像波纹管一样的阵列。

Array
(
    [1] => Array
        (           
            [TotalPosts] => 46
            [AgentSchemeNumber] => 11
            [AgentName] => Vaiji
        )

    [2] => Array
        (            
            [TotalPosts] => 3
            [AgentSchemeNumber] => 22
            [AgentName] => Vaiji
        )

    [3] => Array
        (            
            [TotalPosts] => 0
            [AgentSchemeNumber] => 33
            [AgentName] => Vicky
        )

    [4] => Array
        (            
            [TotalPosts] => 0
            [AgentSchemeNumber] => 44
            [AgentName] => Raja
        )

    [5] => Array
        (            
            [TotalPosts] => 18
            [AgentSchemeNumber] => 55
            [AgentName] => Rama
        )

    [6] => Array
        (            
            [TotalPosts] => 13
            [AgentSchemeNumber] => 66
            [AgentName] => Udaya
        )

)

这里的AgentName vaiji包含2条记录。 我想要类似的输出

Array
(
    [1] => Array
        (           
            [TotalPosts] => 49
            [AgentSchemeNumber] => 11 or 22 (any number)
            [AgentName] => Vaiji
        )    

    [2] => Array
        (            
            [TotalPosts] => 0
            [AgentSchemeNumber] => 33
            [AgentName] => Vicky
        )

    [3] => Array
        (            
            [TotalPosts] => 0
            [AgentSchemeNumber] => 44
            [AgentName] => Raja
        )

    [4] => Array
        (            
            [TotalPosts] => 18
            [AgentSchemeNumber] => 55
            [AgentName] => Rama
        )

    [5] => Array
        (            
            [TotalPosts] => 13
            [AgentSchemeNumber] => 66
            [AgentName] => Udaya
        )

)

请帮我怎么做?

尝试这样的事情:

$array = array( /* .... */ );
$result = array();

foreach ($array as $item) {
    if (!isset($result[$item['AgentName']])) {
        $result[$item['AgentName']] = array(
             'TotalPosts'        => 0, 
             'AgnetSchemeNumber' => $item['AgentSchemeNumber'], 
             'AgentName'         => $item['AgentName'] 
        );
    }

    $result[$item['AgentName']]['TotalPosts'] += $item['TotalPosts'];
}
$result = array_values($result);

var_dump($result);
for ($i=0; $i < sizeof($array); $i++) for ($j=$i+1; $j < sizeof($array); $j++)
{
    if ($array[$i]['AgentName'] == $array[$j]['AgentName'])
    {
        $array[$i]['TotalPosts'] += $array[$j]['TotalPosts'];
        unset($array[$j]);
    }
}

运行此命令后,您想要在$ array中拥有什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM