2017-04-26 68 views
-1

我有數組中的訂單列表;我想有文章總量排序的,所以我需要刪除刪除重複的ID和這些ID的獲取值php從數組中刪除重複項和他們的總和

我有這樣的陣列

Array 
(
    [0] => stdClass Object 
     (
      [reservations_detail_article] => 100 
      [reservations_detail_qte] => 10 
     ) 

    [1] => stdClass Object 
     (
      [reservations_detail_article] => 294 
      [reservations_detail_qte] => 400 
     ) 

    [2] => stdClass Object 
     (
      [reservations_detail_article] => 294 
      [reservations_detail_qte] => 30 
     ) 

    [3] => stdClass Object 
     (
      [reservations_detail_article] => 346 
      [reservations_detail_qte] => 2 
     ) 

) 

,我想有

Array 
(
    [0] => stdClass Object 
     (
      [reservations_detail_article] => 100 
      [reservations_detail_qte] => 10 
     ) 

    [1] => stdClass Object 
     (
      [reservations_detail_article] => 294 
      [reservations_detail_qte] => 430 
     ) 

    [2] => stdClass Object 
     (
      [reservations_detail_article] => 346 
      [reservations_detail_qte] => 2 
     ) 



) 

我已經刪除dupluicates,但不能有很好的總量

+0

通常你必須嘗試這樣做會發生 –

+0

數據來自Woocommerce訂單,所以我不能做之前它之前,它是報告目的 – Nathan

回答

0

試試這個,它會檢查該鍵已經退出,如果退出,然後總和值。如果數組stdClass的對象日恩

$result = array(); 
foreach ($data as $val) { 
    if (!isset($result[$val->reservations_detail_article])) 
     $result[$val->reservations_detail_article] = $val; 
    else 
     $result[$val->reservations_detail_article]['reservations_detail_qte'] += $val['reservations_detail_qte']; 
} 
$result = array_values($result); 
print_r($result); 

如果聯想然後

$result = array(); 
foreach ($data as $val) { 
    if (!isset($result[$val['reservations_detail_article']])) 
     $result[$val['reservations_detail_article']] = $val; 
    else 
     $result[$val['reservations_detail_article']]['reservations_detail_qte'] += $val['reservations_detail_qte']; 
} 
$result = array_values($result); 
print_r($result);