Çok boyutlu dizideki değerleri nasıl eklenir?

2 Cevap php

Ben feryat gibi bir dizi var.

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
        )

)

İşte AgentName vaiji 2 kayıtları içerir. Ben böyle bir çıktı istiyorum

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
        )

)

Nasıl yapmak için bana yardım edin?

2 Cevap

Böyle bir şey deneyin:

$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]);
    }
}

Bu çalıştıktan sonra $ dizi var ne istediğinizi.