簡體   English   中英

如何在新數組中獲取Php多維數組相同鍵的相同值的相關總數?

[英]How to get Php multidimensional array same key’s same value’s related total in new array?

  • PHP多維數組相同鍵的相同值在新數組中的相關總和。 我提到了以下內容。 我需要新數組作為相同item_id的總數量。 任何人都可以幫助將不勝感激。 我的原始數組如下

Array
(
    [a] => Array
        (
            [item] => Array
            (
                [item_id] => 1
        )
        [qty] => 0
    ),
    [b] => Array
        (
            [item] => Array
            (
                [item_id] => 2
            )
            [qty] => 35
    ),
    [c] => Array
    (
            [item] => Array
            (
                [item_id] => 2
            ) 
           [qty] => 15
    ),
    [e] => Array
    (
            [item] => Array
            (
                [item_id] => 3
            ) 
            [qty] => 20
    ),

);
  • 我想要數組輸出,如下所示:

     Array( [0] => Array ( [item_id] => 1, [item_total_qty] => 0, ) [1] => Array ( [item_id] => 2, [item_total_qty] => 50, ) [2] => Array ( [item_id] => 3, [item_total_qty] => 20, ) ); 

在原始表上的簡單foreach:

$sorted = array();
foreach ($original as $item) {
    $id = $item['item']['item_id'];
    $sorted[$id]['item_total_qty'] = $sorted[$id] ? $sorted[$id] + $item['qty'] : item['qty'];
    $sorted[$id]['item_id'] = $id;
}
$sorted = array_values($sorted);

希望對你有幫助

$arrays = array(
    'a' => array(
        'item' => array(
            'item_id' => 1
        ),
        'qty' => 0
    ),
    'b' => array(
        'item' => array(
            'item_id' => 2
        ),
        'qty' => 35
    ),
    'c' => array(
        'item' => array(
            'item_id' => 2
        ),
        'qty' => 15
    ),
    'd' => array(
        'item' => array(
            'item_id' => 3
        ),
        'qty' => 20
    )
);

$result = array();

foreach ($arrays as $key => $array) {
    if (is_array($result) && !empty($result)) {
        foreach ($result as $key => $r) {
            if ($r['item_id'] ==   $array['item']['item_id']) {
                $result[$key]['item_total_qty'] += $array['qty'];
                 continue 2;
            }

        }

        $result[] = array(
                    'item_id' => $array['item']['item_id'],
                    'item_total_qty' => $array['qty']);

    } else {
        $result[] = array(
                    'item_id' => $array['item']['item_id'],
                    'item_total_qty' => $array['qty']);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM