php二维数组相同字段值合并,php 二维数组根据某个字段相同就合并

博客探讨了如何根据二维数组中的某个字段进行排序的问题。作者提到,通过使用字段值作为数组键,可以实现相同字段值的元素聚合。代码示例展示了如何将具有相同'id'的数组元素合并到一起,而非进行排序。讨论中提到了排序算法如冒泡排序等,并指出所给代码仅实现了数据聚合,而非排序功能。

今天遇到一个需求就是,二维数组根据某个字段排序..现在代码有了..我就是搞不懂为什么就会那样做.. 因为按照我的理解.. 最起码要做一步判断的..求各位dalao..解答一下~~

<?php

//原数组

$a= [

0=>[

'id' =>1,

'name'=>'技术部',

'job'=>'后台开发'

],

1=>[

'id' =>1,

'name'=>'技术部',

'job'=>'前端开发'

],

2=>[

'id' =>2,

'name'=>'设计部',

'job'=>'UI设计师'

],

];

echo '<pre>';

//代码

$res = [];

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

$res[$v['id']][] = $v;

}

返回之后的结果:

bVJmRB?w=484&h=532

我知道为什么了。因为每次循环里面的数组。使用id作为key值。。php数组里面,如果key项目则不会创建新的数组,如果不存在则回创建新数组。所以,就可以实现上面的效果。。感觉大家的回答

判断的话你想要怎么判断呢

数组的关键就在于键的唯一性

需求是如果相同就合并到一个数组,这就意味着一维数组上是唯一的。

通过想合并的字段,将它作为数组的键,逐一向里追加就行了

你写的代码不是排序的代码,它就是把相同的id放入一个数组里,

要排序就得用冒泡排序、选择排序、插入排序等等排序算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值