2016-11-29 3 views
-2

Wie fasse ich ein multidimensionales Array zusammen und die Felder beibehalten und ein Summenfeld hinzufügen. Ich fasse gerne die Anzahl der Felder zusammen.php Summe zählen und multidimensionalen Array beibehalten

das Array wie folgt aussieht:

Array (
[0] => Array 
    (
     [landingpage_id] => 5305bc90b7a6bb56478b4581 
     [offer_id] => 9233440331d06b1f22dadb1641007585 
     [count] => 5 
    ) 

[2] => Array 
    (

     [landingpage_id] => 5305bc90b7a6bb56478b4581 
     [offer_id] => 53146a8bb7a6bb9b688b4567 
     [count] => 3 
    ) 

[4] => Array 
    (
     [landingpage_id] => 5305bc90b7a6bb56478b4581 
     [offer_id] => 53146a8bb7a6bb9b688b4567 
     [count] => 2 
    ) 
) 

optimale Ergebnisse wäre, da sie die Zählerfeld mit dem einzigartigen com Summe würde:

[0] => Array 
    (
     [landingpage_id] => 5305bc90b7a6bb56478b4581 
     [offer_id] => 9233440331d06b1f22dadb1641007585 

     [count] => 5 
    ) 



[1] => Array 
    (
     [landingpage_id] => 5305bc90b7a6bb56478b4581 
       [offer_id] => 53146a8bb7a6bb9b688b4567 

     [count] => 5 
    ) 
+0

Was ist das erwartete Ergebnis? –

+0

Sorry war die Frage zu beheben. Ich werde immer getrennt. – Boy

Antwort

0

Sie verwenden array_reduce:

$result = array_reduce($myArray, function ($carry, $item) { 

    $key = $item['landingpage_id'] . $item['offer_id']; 

    if (isset($carry[$key])) { 
     $carry[$key]['count'] += $item['count']; 
    } else { 
     $carry[$key] = $item; 
    } 

    return $carry; 

}, array()); 

$result = array_values($result); // this is needed only if you want to reset the keys of the resulted array 
+0

aus irgendeinem Grund diese Ausgaben, fast das gleiche wie der Parameter – Boy

+0

Was meinst du? –

Verwandte Themen