组合php数组的重复值


Combine php array duplicate values

我有一个php数组,如下所示:

Array
(
    [0] => Array
        (
            [product] => 2
            [price] => 30
            [qnty] => 1
        )
    [1] => Array
        (
            [product] => 2
            [price] => 30
            [qnty] => 1
        )
    [2] => Array
        (
            [product] => 1
            [price] => 250
            [qnty] => 1
        )
)

我想组合重复的值,添加"qnty"索引值,然后像这样打印数组:

Array
(
    [0] => Array
        (
            [product] => 2
            [price] => 30
            [qnty] =>2
        )
    [1] => Array
        (
            [product] => 1
            [price] => 250
            [qnty] => 1
        )
)

我怎样才能组合这个数组。请帮助我

尝试下面的代码。我假设你的阵列名称是$products

$merged = array();
  foreach($products as $product) {
  $key = $product['product'];
  if(!array_key_exists($key, $merged)) {
      $merged[$key] = $product;
  }
  else {
      $merged[$key]['qnty'] += $product['qnty'];
  }
}
 echo '<pre>';
 print_r($merged);
 exit;