热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

两个二维数组的合并

合并前的数组a:{代码...}合并前的数组b:{代码...}合并后的数组(合并条件,a的idb的user_id时合并):{代码...}
合并前的数组a:

array (size=3)
  0 => 
    array (size=2)
      'id' => string '113' (length=3)
      'email' => string 'yintx_1292342352@163.com' (length=24)
    
  1 => 
    array (size=2)
      'id' => string '111' (length=3)
      'email' => string 'yintx_1293456456@163.com' (length=24)
  2 => 
    array (size=2)
      'id' => string '109' (length=3)
      'email' => string 'yintx_129@99999.com' (length=19)

合并前的数组b:

array (size=2)
  0 => 
    array (size=2)
      'user_id' => string '113' (length=2)
      'count' => string '1' (length=1)
  1 => 
    array (size=2)
      'user_id' => string '109' (length=2)
      'count' => string '8' (length=1)

合并后的数组(合并条件,a的id==b的user_id时合并):

array (size=3)
  0 => 
    array (size=3)
      'id' => string '113' (length=3)
      'email' => string 'yintx_1292342352@163.com' (length=24)
      'count' => string '1' (length=1)
    
  1 => 
    array (size=3)
      'id' => string '111' (length=3)
      'email' => string 'yintx_1293456456@163.com' (length=24)
      'count' => string '0' (length=1)
  2 => 
    array (size=3)
      'id' => string '109' (length=3)
      'email' => string 'yintx_129@99999.com' (length=19)
      'count' => string '8' (length=1)

回复内容:

合并前的数组a:

array (size=3)
  0 => 
    array (size=2)
      'id' => string '113' (length=3)
      'email' => string 'yintx_1292342352@163.com' (length=24)
    
  1 => 
    array (size=2)
      'id' => string '111' (length=3)
      'email' => string 'yintx_1293456456@163.com' (length=24)
  2 => 
    array (size=2)
      'id' => string '109' (length=3)
      'email' => string 'yintx_129@99999.com' (length=19)

合并前的数组b:

array (size=2)
  0 => 
    array (size=2)
      'user_id' => string '113' (length=2)
      'count' => string '1' (length=1)
  1 => 
    array (size=2)
      'user_id' => string '109' (length=2)
      'count' => string '8' (length=1)

合并后的数组(合并条件,a的id==b的user_id时合并):

array (size=3)
  0 => 
    array (size=3)
      'id' => string '113' (length=3)
      'email' => string 'yintx_1292342352@163.com' (length=24)
      'count' => string '1' (length=1)
    
  1 => 
    array (size=3)
      'id' => string '111' (length=3)
      'email' => string 'yintx_1293456456@163.com' (length=24)
      'count' => string '0' (length=1)
  2 => 
    array (size=3)
      'id' => string '109' (length=3)
      'email' => string 'yintx_129@99999.com' (length=19)
      'count' => string '8' (length=1)

array_merge_recursive() 函数与 array_merge() 函数 一样,将一个或多个数组的元素的合并起来,一个数组中的值附加在前一个数组的后面。并返回作为结果的数组。
但是,与 array_merge() 不同的是,当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组。(参见例子 1)

$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge_recursive($a1,$a2));
?>
输出:
Array (
[a] => Horse
[b] => Array ( [0] => Dog [1] => Cat )
[c] => Cow
)

$a = array(
    array('id'=>'113','email'=>'yintx_1292342352@163.com'), 
    array('id'=>'111','email'=>'yintx_1293456456@163.com'), 
    array('id'=>'109','email'=>'yintx_129@99999.com')
    );

$b = array(
    array('user_id'=>'113','count'=>'1'), 
    array('user_id'=>'109','count'=>'8')
    );

foreach($a as $ka=>$va){
    foreach($b as $kb=>$vb){
        if($va['id'] == $vb['user_id']){
            $a[$ka]['count'] = $vb['count'];
        }
    }
}

var_dump($a);

----------

array (size=3)
  0 => 
    array (size=3)
      'id' => string '113' (length=3)
      'email' => string 'yintx_1292342352@163.com' (length=24)
      'count' => string '1' (length=1)
  1 => 
    array (size=2)
      'id' => string '111' (length=3)
      'email' => string 'yintx_1293456456@163.com' (length=24)
  2 => 
    array (size=3)
      'id' => string '109' (length=3)
      'email' => string 'yintx_129@99999.com' (length=19)
      'count' => string '8' (length=1)

array_merge_recursive($a, $b);

推荐阅读
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • Linux环境变量$PATH的作用及使用方法
    本文介绍了Linux环境变量$PATH的作用及使用方法。$PATH是一个由多个目录组成的变量,用冒号分隔。当执行一个指令时,系统会按照$PATH定义的目录顺序搜索同名的可执行文件,如果有多个同名指令,则先找到的会被执行。通过设置$PATH变量,可以在任何地方执行指令,无需输入绝对路径。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • vb.net不用多线程如何同时运行两个过程?不用多线程?即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。不用多线程更不可能让两个过程同步执行了。不过可 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 现在学vb6还靠得住么?语言只是工具,关键是思想。程序=算法+数据结构。除了汇编,其他语言都靠不住。随着时代的进步,很多语言跟不上开发的要求。从面向过程到面向对象,与其说是思想的进步,不如说是为了适应高速开发。除了底层汇编语言,还有那些能适应高速开发的语言。每种语言都是很有趣的。 ... [详细]
  • 本文详细介绍了如何创建和使用VUE uni-app开发环境,包括通过HBuilderX可视化界面和通过vue-cli命令执行的方法。文章内容简单清晰,易于学习与理解。通过学习本文,读者可以深入了解VUE uni-app开发环境,并通过实践验证掌握具体的使用情况。编程笔记将为读者推送更多相关知识点的文章,欢迎关注! ... [详细]
  • 本文介绍了一个从入门到高手的VB.NET源代码,通过学习这些源代码,可以在21天内成为VB.NET高手。文章提供了下载地址,并提醒读者加入作者的QQ群和收藏作者的博客。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • GTX1070Ti显卡怎么样?GTX1070Ti显卡首发图赏+参数解读与拆解图
    先来简单回顾一下今年的显卡市场,nvidia自从发布了帕斯卡架构新品之后,可以说是一直都主宰着高端游戏显卡市场,虽说amd也憋了一个hbm2的vega64出来,然而即使是最高贵的水 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • 本文介绍了某点评网的搜索策略,包括名称和地址的匹配策略,模糊匹配的方法以及不同口音和拼音的近似发音。同时提供了一些例子来说明这些策略的应用。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • CS231n简介详见CS231n课程笔记1:Introduction。本文都是作者自己的思考,正确性未经过验证,欢迎指教。作业笔记本部分实现的是Momentum,RMSProb, ... [详细]
author-avatar
手机用户2502920645
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有