php 按数组键值合并,PHP——数组根据某一键值合并
其实要实现很简单直接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——数组根据某一键值合并相关推荐
- java数组键_Java基础之数组
数组 数组就是用于存储相同数据类型数据的一个容器.可以通过有规律的索引来访问没有规律的元素. 一维数组 定义格式:元素的数据类型[ ] 数组名称 = new 元素的数据类型 [ 数组容器大小 ]: 数 ...
- php添加一维数组,PHP将多维数组数组键附加到一维数组
我正在处理大型产品数据API. 我得到了大量的多维数组形式的产品数据. 在我的代码中,我有130个类别. 每一个类别下都有一定数量的产品. 我得到的产品列表如下(我复制了数组的某些部分):Array ...
- PHP 对多个数组合并去重以及数组键值的翻转
要讲到数组合并与去重,这里就不得不提array_flip()函数,而这个函数也是数组键值的翻转函数. For example: $arr=array('10','11','12'); $arr2=ar ...
- php数组键值一样的合并,php合并数组并保留键值 php合并数组并保留键值的实现方法...
想了解php合并数组并保留键值的实现方法的相关内容吗,傲雪星枫在本文为您仔细讲解php合并数组并保留键值的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:php数组合并保留键值,下面大家一起 ...
- php 二维数组根据键值合并二维数组_3分钟短文 | PHP 根据值移除数组元素,哪个方法最简单?...
引言 PHP 数组操作,之前我们讲了如何根据值,进行多维数组的排序.今天说一说,如何根据值,进行数组元素的删除. 学习时间 假设有一个一维数组,单纯的数字数组.为了简化问题,我们假设数组元素没有重复项 ...
- php数组合并如何不覆盖,php如何实现合并数组并且不覆盖重复值
php合并数组不覆盖的实现方法:首先创建一个PHP示例文件:然后定义两组数组:接着通过"$form_data1 + $form_data2;"方法合并数组:最后输出合并后的值即可. ...
- php数组拆分的函数是,php基础之数组的合并、拆分、区别取值函数集
PHP数组的合并.拆分.区别取值函数集 都说PHP的数组功能很强大.只有真正用于项目工作当中才能够感受得到,至少我认为是,现在已慢慢的发觉其中的奥秘了-- 合并数组有三个函数: 1.array_com ...
- php+替换数组键值,php如何替换数组的key
php如何替换数组的key php替换数组的key的方法:可以利用array_combine()函数来进行替换,如[array_combine($key_name,$arr_old);].该函数可以合 ...
- 遍历数据键和值 php,php数组实例之获取当前数组键和值 each()
each()函数返回input_array的当前键/值对,并将指针推进一个位置. 其形式如下: array each(array array) 返回的数组包含四个键,键0和key包含键名,而键1和va ...
- 如何按PHP中给定键的值对关联数组进行排序?
给定这个数组: $inventory = array(array("type"=>"fruit", "price"=>3.50) ...
最新文章
- 十代i7前端总线频率_七彩虹Z490 Vulcan X主板体验+i7-10700K超频测试
- PetShop的系统架构设计[转]
- [react] 你有用过哪些React的UI库?它们的优缺点分别是什么
- LeetCode 1338. 数组大小减半
- Pensando Distributed Services Architecture [Pensando 分布式服务架构] - 翻译
- 哈夫曼树(Huffman Tree)的介绍、画法、哈夫曼树的可视化显示(Python代码实现)
- Git科普文,Git基本原理各种骚操作
- idea 断点下一步快捷件_Intellij IDEA 创建控制台项目,断点调试快捷方式
- VC++学习(1):Windows程序内部运行原理
- itext poi 学习之旅 (3)读取数据库信息并由excel展现出来
- 阿里云服务器Centos7 安装 pycuda报错:Could not build wheels for pycuda which use PEP 517 and cannot be install
- stm32-OV7670摄像头开发总结(stm32学习笔记)
- 离线安装Python包的三种方法
- Ruckus 7372 Multimedia Hotzone Wireless AP 配置
- 利用接口和继承实现 求三角形 圆形面积 和以圆形为底的圆锥形的体积
- java实现表白动图
- python extension c++ 扩展
- 计算机开启telnet服务,Telnet服务是什么?如何开启Telnet服务
- 调整k8s的iptable参数时启动生效报错
- 2019年计算机二级获证条件,2019年下半年全国计算机等级考试报考简章