前言

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

步骤

这是源数据的格式

$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"=>"断桥残雪,三潭映月,君可知为何如此?"
]
]
]
]

最新文章

  1. 趣味C程序-HelloWord
  2. Mysql-windows下修改密码
  3. Sqli-LABS通关笔录-9[延时注入]
  4. c#三层架构登陆实例
  5. 解决Windows Server2008 R2中IE开网页时弹出阻止框(Windows Server2008网页无法打开的问题)
  6. LibLinear(SVM包)的MATLAB安装
  7. 精读《javascript高级程序设计》笔记三——面向对象的程序设计
  8. 学习MVC遇到的问题
  9. Android KK台,联系人列表#集团放置A~Z之前
  10. SQL点滴32—Excel中CONCATENATE函数生成SQL语句
  11. python爬虫scrapy框架——人工识别登录知乎倒立文字验证码和数字英文验证码(2)
  12. 树的平衡 AVL Tree
  13. 手写代码 - java.util.Arrays 相关
  14. Ubuntu16.04下安装QT5.8
  15. python输出显示颜色
  16. Java RMI 框架(远程方法调用)
  17. aiohttp基本及进阶使用
  18. HTML5和CSS3扁平化风格博客(进阶篇)
  19. Java中子类是否可以继承父类的static变量和方法而呈现多态特性
  20. node.js和JavaScript的关系

热门文章

  1. STL之iterator源码解析
  2. 解决 plsql 启动报错 Initialization error
  3. Java对象在内存的结构
  4. linux中C语言的运行(gcc)
  5. day52——jquery引入与下载、标签查找、操作标签
  6. Mongodb 的事务在python中的操作
  7. Java-手动搭建SSH(maven版)
  8. FMX 隐藏任务栏 xe10
  9. 收藏单词TOEFL备份托福英语
  10. DS DI ES SI等等