组合php数组重复值
我有一个php数组,如下所示:组合php数组重复值,php,arrays,Php,Arrays,我有一个php数组,如下所示: Array ( [0] => Array ( [product] => 2 [price] => 30 [qnty] => 1 ) [1] => Array ( [product] => 2 [price] => 30
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():第一个参数应该是字符串或整数