Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在总和(价格)值之后,按id删除数组中的相同id_Php_Arrays - Fatal编程技术网

Php 在总和(价格)值之后,按id删除数组中的相同id

Php 在总和(价格)值之后,按id删除数组中的相同id,php,arrays,Php,Arrays,我有php订单数组,我正在将此数组发送给shipping service,但我的客户有2-3个相同shop\u id的订单。我正在发送第3次发货这是一个问题,必须只发送一次带有店铺id的发货,并且必须是总价 我该怎么做?下面是我的数组输出 Array ( [date] => 2019-05-23 [name] => Alex [shop_id] => 1 [price] => 13.45 ) Array ( [date] =>

我有php订单数组,我正在将此数组发送给shipping service,但我的客户有2-3个相同
shop\u id
的订单。我正在发送第3次发货这是一个问题,必须只发送一次带有店铺id的发货,并且必须是总价

我该怎么做?下面是我的数组输出

Array
(
    [date] => 2019-05-23
    [name] => Alex
    [shop_id] => 1
    [price] => 13.45
)

Array
(
    [date] => 2019-05-23
    [name] => Alex
    [shop_id] => 1
    [price] => 22.45
)

Array
(
    [date] => 2019-05-23
    [name] => Alan
    [shop_id] => 3
    [price] => 83.56
)
我的数组代码:

    print("<pre>".print_r($orders,true)."</pre>");
我的代码

Array
(
)

您可以构建一个由shop-id索引的结果数组。然后迭代数据数组并检查该键是否已经存在。如果键不存在,则将该项添加到结果数组中。如果项目存在,只需更新价格

$data=[
[
“日期”=>“2019-05-23”,
“name”=>“Alex”,
“店铺id”=>1,
“价格”=>12.34,
],
[
“日期”=>“2019-05-23”,
“name”=>“Alex”,
“店铺id”=>2,
“价格”=>12.34,
],
[
“日期”=>“2019-05-23”,
“name”=>“Alex”,
“店铺id”=>1,
“价格”=>23.45,
],
];
$result=[];
foreach($数据作为$项){
$key='SHOP-ID-'。$item['SHOP_-ID'];
如果(!array_key_存在($key,$result)){
$result[$key]=$item;
}否则{
$result[$key]['price']+=$item['price'];
}
}
var_dump($结果);

print\r是您解决问题的尝试吗?@Andreas否,我的数组错误,我需要使用相同的店铺id对价格值求和,并且在相同的店铺id之后,只有1个项目必须存在重复的@SwiftDeveloper检查输出可能重复
  $newarray = array();
        foreach($arr as $ar)
        {
            foreach($ar as $k => $v)
            {
                if(array_key_exists($v, $newarray))
                    $newarray[$v]['price'] = $newarray[$v]['price'] + $ar['price'];
                else if($k == 'shop_id')
                    $newarray[$v] = $ar;
            }
        }




        print("<pre>".print_r($newarray,true)."</pre>");
Array
(
)