资讯专栏INFORMATION COLUMN

简单的二维数组数据合并

frontoldman / 1381人阅读

摘要:张三李四李四将相同的数组合并,并将数量相加。声明中间数组声明结果数组存在追加数量不存在加入数组结果张三李四恢复到原来的二维结果张三李四

$arr1=array(
    array(
        "name"=> "张三",
        "qty"=> "4"
    ),
    array(
        "name"=> "李四",
        "qty"=>"10"
    ),
    array(
        "name"=> "李四",
        "qty"=> "5"
    )
);

将name 相同的数组合并,并将数量qty相加。

//声明中间数组
$temp = [];
//声明结果数组
$final = [];
foreach ($arr1 as $value) {
    if (isset($temp[$value["name"]])) {
        //name存在追加数量
        $temp[$value["name"]] = $temp[$value["name"]] + (float)$value["qty"];
        } else {
        //name不存在加入数组
        $temp[$value["name"]] = (float)$value["qty"];
        }
}
print_r($temp);
//结果
Array
(
    [张三] => 4
    [李四] => 15
)
//恢复到原来的二维
foreach($temp as $key=>$value){
    $final[]=["name"=>$key,"qty"=>$value];
}
print_r($final);
//结果
Array
(
    [0] => Array
        (
            [name] => 张三
            [qty] => 4
        )

    [1] => Array
        (
            [name] => 李四
            [qty] => 15
        )

)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22201.html

相关文章

  • PHP二维数组根据二维键名去重算法

    摘要:需求现在有下面一组二维数组青叶我是青叶合肥男足球棒球需要将处于第二维键名为,其值相同的数组的合并形成一个新的数组。 需求 现在有下面一组二维数组: array(8) { [0]=> array(2) { [name]=> string(4) name [value]=> string(6) 青叶 } [1]=> array(2) { ...

    KnewOne 评论0 收藏0
  • 异步迭代器在业务中实践

    摘要:讨论还请到原下什么是异步迭代器关注或者通过其他渠道关注发展的同学应该早已注意到了一个新的草案。这项草案就是我本文中,我将要提到的异步迭代器。因此我去学习异步迭代器,自然也是为了解决我在业务中所遇到的问题。 讨论还请到原 github issue 下:https://github.com/LeuisKen/l... 什么是异步迭代器 关注tc39或者通过其他渠道关注JavaScript...

    Flands 评论0 收藏0
  • 使用box-shadow进行画图(性能优化终结者)

    摘要:关于的介绍关于的介绍处理数据并转换为在上边我们拿到了一个一维数组,接下来就是将它处理为更合理的结构。如果计算出来这一块面积就成为了一个问题目前的思路是,将数组转换为二维数组,而不是单纯的在对象中用标识。 最近突然想做一些好玩的东西,找来找去,想到了之前曾经在网上看到过有人用box-shadow画了一副蒙娜丽莎出来 感觉这个挺有意思,正好趁着周末,自己也搞一波 前言 在线地址: 优化前...

    snifes 评论0 收藏0
  • leetcode200. Number of Islands

    摘要:题目要求提供一个二维数组表示一张地图,其中代表陆地,代表海洋。这里使用一个新的二维数组来表示对应地图上的元素属于哪个并查集。在合并的时候先进行判断,如果二者为已经相连的陆地,则无需合并,否则将新的二维数组上的元素指向所在的并查集。 题目要求 Given a 2d grid map of 1s (land) and 0s (water), count the number of isla...

    Zoom 评论0 收藏0
  • JAVA学习之路 (二) 数组

    摘要:数组声明一个数组数据类型数组名数据类型数组名分配空间数组名数据类型数组长度长度为的整数数组合并为一起赋值另一种创建数组的方法定义一个数组,保存五名学生的成绩等价于输出数组中的第二个成绩数组中的第个成绩为遍历数组定义一个长度为的字符串数组,并 数组 声明一个数组 数据类型[ ] 数组名; 数据类型 数组名[ ] int scores []; int [] scores; showImg...

    seal_de 评论0 收藏0

发表评论

0条评论

frontoldman

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<