我有一个多数组,它有一些重复的值,这些值按名称相同(name是一个元素)
我想对每个同名数组的数量求和,然后取消设置第二个数组
例子:

<?php
 $Array=array(
  0=>array("name"=>"X","QTY"=>500),
  1=>array("name"=>"y","QTY"=>250),
  2=>array("name"=>"X","QTY"=>250)
 );
?>

现在我想将重复的值求和如下。
结果:
<?php
 $Array=array(
  0=>array("name"=>"X","QTY"=>750),
  1=>array("name"=>"y","QTY"=>250)
 );
?>

更新的
我发现这个函数在数组中搜索,foreach和另一个循环也不起作用
<?php
function search($array, $key, $value)
{
    $results = array();

    if (is_array($array)) {
        if (isset($array[$key]) && $array[$key] == $value) {
            $results[] = $array;
        }

        foreach ($array as $subarray) {
            $results = array_merge($results, search($subarray, $key, $value));
        }
    }

    return $results;
}
?>

最佳答案

试试这个最简单的,希望对你有帮助。
Try this code snippet here

$result=array();
foreach ($Array as $value)
{
    if(isset($result[$value["name"]]))
    {
        $result[$value["name"]]["QTY"]+=$value["QTY"];
    }
    else
    {
        $result[$value["name"]]=$value;
    }
}
print_r(array_values($result));

09-10 10:14
查看更多