其实要实现很简单直接foreach,再根据PHP中数组的特性就可以轻松实现。

2|0步骤

$info = [

[

"gname" => "特别关心" ,

"gid" => 1, "fid" => 2,

"nickname" => "立冬" ,

"avatar" => "http://cache.wangyangyang.vip/avatar_4.gif",

"remark" => "" ,

"desc" => "雪花一片一片的洒落在窗台上,田野间,为大地换上了新装~"

],

[

"gname" => "我的好友",

"gid" => 2,

"fid" => 3,

"nickname" => "立春",

"avatar" => "http://cache.wangyangyang.vip/avatar_3.jpg",

"remark" => "",

"desc" => "我在春天等着你的到来~"

],

[

"gname" => "朋友" ,

"gid" => 3,

"fid" => 4,

"nickname" => "立夏" ,

"avatar" => "http://cache.wangyangyang.vip/12222222222222.jpg" ,

"remark" => "" ,

"desc" => "你好啊,夏天!"

],

[

"gname" => "同学" ,

"gid" => 4,

"fid" => 5,

"nickname" => "小雨" ,

"avatar" => "http://cache.wangyangyang.vip/avatar_5.jpg" ,

"remark" => "" ,

"desc" => "人间四月芳菲尽,山寺桃花始盛开!"

],

[

"gname" =>"同学" ,

"gid" => 4,

"fid" => 6,

"nickname" => "残雪殇" ,

"avatar" => "http://cache.wangyangyang.vip/12222222222222.jpg" ,

"remark" => "小雪" ,

"desc" => "断桥残雪,三潭映月,君可知为何如此?"

]

]

合并后的数据

将数组中某一个相同的值作为键,然后生成一个新的三维数组

$list = [];

foreach ($info as $k => $v) {

$list[$v[‘gid‘]][‘gid‘] = $v[‘gid‘];

$list[$v[‘gid‘]][‘gname‘] = $v[‘gname‘];

$list[$v[‘gid‘]][‘list‘][] = $v;

}

得到数据

$list=[

1=>[

"gid"=>1,

"gname"=> "特别关心",

"list"=>[

[

"gname"=>"特别关心",

"gid"=>1,

"fid"=>2,

"nickname"=>"立冬",

"avatar"=>"http://cache.wangyangyang.vip/avatar_4.gif",

"remark"=>"",

"desc"=>"雪花一片一片的洒落在窗台上,田野间,为大地换上了新装~"

]

]

],

2=> [

"gid"=>2,

"gname"=> "我的好友",

"list"=>[

[

"gname"=>"我的好友",

"gid"=>2,

"fid"=>3,

"nickname"=> "立春",

"avatar"=>"http://cache.wangyangyang.vip/avatar_3.jpg",

"remark"=>"",

"desc"=> "我在春天等着你的到来~"

]

]

],

3=>[

"gid"=>3,

"gname"=>"朋友",

"list"=>[

[

"gname"=>"朋友",

"gid"=>3,

"fid"=>4,

"nickname"=> "立夏",

"avatar"=> "http://cache.wangyangyang.vip/12222222222222.jpg",

"remark"=> "",

"desc"=>"你好啊,夏天!"

]

]

],

4=>[

"gid"=>4,

"gname"=>"同学",

"list"=>[

[

"gname"=>"同学",

"gid"=>4,

"fid"=>5,

"nickname"=>"小雨",

"avatar"=>"http://cache.wangyangyang.vip/avatar_5.jpg",

"remark"=> "",

"desc"=>"人间四月芳菲尽,山寺桃花始盛开!"

],

[

"gname"=> "同学",

"gid"=>4,

"fid"=>6,

"nickname"=>"残雪殇",

"avatar"=>"http://cache.wangyangyang.vip/12222222222222.jpg",

"remark"=> "小雪",

"desc"=>"断桥残雪,三潭映月,君可知为何如此?"

]

]

]

]

原文:https://www.cnblogs.com/yehuisir/p/12938897.html

php 按数组键值合并,PHP——数组根据某一键值合并相关推荐

  1. java数组键_Java基础之数组

    数组 数组就是用于存储相同数据类型数据的一个容器.可以通过有规律的索引来访问没有规律的元素. 一维数组 定义格式:元素的数据类型[ ] 数组名称 = new 元素的数据类型 [ 数组容器大小 ]: 数 ...

  2. php添加一维数组,PHP将多维数组数组键附加到一维数组

    我正在处理大型产品数据API. 我得到了大量的多维数组形式的产品数据. 在我的代码中,我有130个类别. 每一个类别下都有一定数量的产品. 我得到的产品列表如下(我复制了数组的某些部分):Array ...

  3. PHP 对多个数组合并去重以及数组键值的翻转

    要讲到数组合并与去重,这里就不得不提array_flip()函数,而这个函数也是数组键值的翻转函数. For example: $arr=array('10','11','12'); $arr2=ar ...

  4. php数组键值一样的合并,php合并数组并保留键值 php合并数组并保留键值的实现方法...

    想了解php合并数组并保留键值的实现方法的相关内容吗,傲雪星枫在本文为您仔细讲解php合并数组并保留键值的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:php数组合并保留键值,下面大家一起 ...

  5. php 二维数组根据键值合并二维数组_3分钟短文 | PHP 根据值移除数组元素,哪个方法最简单?...

    引言 PHP 数组操作,之前我们讲了如何根据值,进行多维数组的排序.今天说一说,如何根据值,进行数组元素的删除. 学习时间 假设有一个一维数组,单纯的数字数组.为了简化问题,我们假设数组元素没有重复项 ...

  6. php数组合并如何不覆盖,php如何实现合并数组并且不覆盖重复值

    php合并数组不覆盖的实现方法:首先创建一个PHP示例文件:然后定义两组数组:接着通过"$form_data1 + $form_data2;"方法合并数组:最后输出合并后的值即可. ...

  7. php数组拆分的函数是,php基础之数组的合并、拆分、区别取值函数集

    PHP数组的合并.拆分.区别取值函数集 都说PHP的数组功能很强大.只有真正用于项目工作当中才能够感受得到,至少我认为是,现在已慢慢的发觉其中的奥秘了-- 合并数组有三个函数: 1.array_com ...

  8. php+替换数组键值,php如何替换数组的key

    php如何替换数组的key php替换数组的key的方法:可以利用array_combine()函数来进行替换,如[array_combine($key_name,$arr_old);].该函数可以合 ...

  9. 遍历数据键和值 php,php数组实例之获取当前数组键和值 each()

    each()函数返回input_array的当前键/值对,并将指针推进一个位置. 其形式如下: array each(array array) 返回的数组包含四个键,键0和key包含键名,而键1和va ...

  10. 如何按PHP中给定键的值对关联数组进行排序?

    给定这个数组: $inventory = array(array("type"=>"fruit", "price"=>3.50) ...

最新文章

  1. 十代i7前端总线频率_七彩虹Z490 Vulcan X主板体验+i7-10700K超频测试
  2. PetShop的系统架构设计[转]
  3. [react] 你有用过哪些React的UI库?它们的优缺点分别是什么
  4. LeetCode 1338. 数组大小减半
  5. Pensando Distributed Services Architecture [Pensando 分布式服务架构] - 翻译
  6. 哈夫曼树(Huffman Tree)的介绍、画法、哈夫曼树的可视化显示(Python代码实现)
  7. Git科普文,Git基本原理各种骚操作
  8. idea 断点下一步快捷件_Intellij IDEA 创建控制台项目,断点调试快捷方式
  9. VC++学习(1):Windows程序内部运行原理
  10. itext poi 学习之旅 (3)读取数据库信息并由excel展现出来
  11. 阿里云服务器Centos7 安装 pycuda报错:Could not build wheels for pycuda which use PEP 517 and cannot be install
  12. stm32-OV7670摄像头开发总结(stm32学习笔记)
  13. 离线安装Python包的三种方法
  14. Ruckus 7372 Multimedia Hotzone Wireless AP 配置
  15. 利用接口和继承实现  求三角形 圆形面积 和以圆形为底的圆锥形的体积
  16. java实现表白动图
  17. python extension c++ 扩展
  18. 计算机开启telnet服务,Telnet服务是什么?如何开启Telnet服务
  19. 调整k8s的iptable参数时启动生效报错
  20. 2019年计算机二级获证条件,2019年下半年全国计算机等级考试报考简章

热门文章

  1. java修车_用JAVA描述一个车与修车厂两个事物
  2. Python之进程的玩法
  3. 生物密码具有唯一性和不变性,必须掌握在自己手中!
  4. 内推了 41 人来微软之后,竟然有位大佬要离职了。。。原因竟然是。。。
  5. 文件上传漏洞 解析、验证、伪造(三)
  6. EmEditor 下载
  7. AutoCAD快速入门(三十):打印
  8. html上传文件到站点,怎么打包上传文件到网站
  9. 屏蔽Edge浏览器的新闻推送,高效办公!
  10. 2018年教育技术十大趋势