组合php数组重复值

组合php数组重复值,php,arrays,Php,Arrays,我有一个php数组,如下所示: Array ( [0] => Array ( [product] => 2 [price] => 30 [qnty] => 1 ) [1] => Array ( [product] => 2 [price] => 30

我有一个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
        )
)
Array
(
    [0] => Array
        (
            [product] => 2
            [price] => 30
            [qnty] =>2
        )
    [1] => Array
        (
            [product] => 1
            [price] => 250
            [qnty] => 1
        )
)
我想组合重复的值,添加“qnty”索引值,然后按如下方式打印该数组:

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
        )
)
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;
$merged=array();
foreach($products as$product){
$key=$product['product'];
如果(!array_key_存在($key,$merged)){
$merged[$key]=$product;
}
否则{
$merged[$key]['qnty']+=$product['qnty'];
}
}
回声';
打印(合并);
出口

迭代数组,检查当前的重复项,如果是,则删除重复项并增加
qnty
hi,感谢您的代码。但是我得到了这个错误:警告:array\u key\u exists():第一个参数应该是字符串或整数