如果多维数组中的标题相同,则删除标题,但添加数量


Eliminate Title but add qty if titles are identical in multidimensional array

我有一个多维数组i:

Array
(
    [0] => Array
        (
            [title_0] => Sample Gift product 5
            [qty_0] => 1.0000
        )
    [1] => Array
        (
            [title_1] => Sample Gift product 2
            [qty_1] => 5.0000
        )
    [2] => Array
        (
            [title_2] => Sample Gift product 5
            [qty_2] => 1.0000
        )
    [3] => Array
        (
            [title_3] => Sample Gift product 2
            [qty_3] => 1.0000
        )
)

但我希望这个结果是这样的,如果任何title元素在数组中具有相同的值,则应该删除它们,但必须添加它们的数量值。最终阵列应该看起来像

Array
(
    [0] => Array
        (
            [title_0] => Sample Gift product 5
            [qty_0] => 2.0000
        )
    [1] => Array
        (
            [title_1] => Sample Gift product 2
            [qty_1] => 6.0000
        )
)

请帮帮我,我被困在这里,不知道该怎么处理。感谢

创建一个具有$arrayAll[$title] = $quantity;的新数组循环您的原始数组,如果有一个带有标题的键,如果没有设置初始数量,则添加数量。

<?php
$aAll = array();
foreach ($multyArray as $i => $data) {
    $title = $data['title_'.$i];
    if( ! isset($aAll[$title] ) $aAll[$title] = 0;
    $aAll[$title] +=  $data['qty_'.$i];
}
// now you can recreate your original multy array with unique titles and added quantities.

此外,您不需要使用title_0qty_0,只需使用title和qty,因为它们是该数组的唯一键。