让我们假设这种情况。我们有这样的多维产品系列。 2种产品,但是3种属性,每一种都有不同的cart_quantity。
Array
(
[0] => Array
(
[id_product] => 1
[id_product_attribute] => 5
[cart_quantity] => 1
)
[1] => Array
(
[id_product] => 620
[id_product_attribute] => 784
[cart_quantity] => 8
)
[2] => Array
(
[id_product] => 1
[id_product_attribute] => 12
[cart_quantity] => 3
)
)
我如何对具有相同id_product的每个数组项的所有$ product ['cart_quantity']求和,结果如下:
Array
(
[1] => 4 // 1 + 3
[620] => 8
)
对于线程标题,我真的很抱歉,如果没有在上面的示例中显示此内容,我什至无法形成我想要实现的目标。
答案 0 :(得分:1)
使用简单的foreach
循环。将$product['product_id']
用作结果数组中的键,当您获得重复的ID时,只需将其添加即可。
$result = array();
foreach ($products as $product) {
$id = $product['product_id'];
$quant = $product['cart_quantity'];
if (isset($result[$id])) {
$result[$id] += $quant;
} else {
$result[$id] = $quant;
}
答案 1 :(得分:1)
请尝试使用以下方式。
$totals = array();
foreach ($main as $row) {
$product = $row['id_product'];
$quantity = $row['cart_quantity'];
$totals[$product] += $quantity;
}