当前位置: 首页 > article >正文

php 二维数组根据其他字段值是否相同来进行去重

在PHP中,可以使用array_reduce函数和array_column函数结合来实现二维数组去重。以下是一个示例代码:

$array = [
    ['id' => 1, 'name' => 'Alice', 'age' => 25],
    ['id' => 2, 'name' => 'Bob', 'age' => 27],
    ['id' => 3, 'name' => 'Charlie', 'age' => 25],
    ['id' => 1, 'name' => 'Alice', 'age' => 25], // 重复项
];
 
// 使用array_column提取特定字段,并使用array_reduce去重
$uniqueArray = array_reduce(array_column($array, null), function ($carry, $item) {
    if (!isset($carry[$item['id']])) {
        $carry[$item['id']] = $item;
    }
    return $carry;
}, []);
 
// 重置索引
$uniqueArray = array_values($uniqueArray);
 
print_r($uniqueArray);

这段代码会输出一个去除了基于id字段重复项的数组。如果需要基于其他字段去重,只需修改 c a r r y [ carry[ carry[item[‘id’]]中的’id’为相应的字段名即可。


http://www.kler.cn/a/500024.html

相关文章:

  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Python版)
  • Java进阶-在Ubuntu上部署SpringBoot应用
  • 【“软件工程”基础概念学习】
  • 大数据技术实训:Hadoop完全分布式运行模式配置
  • IOS HTTPS代理抓包工具使用教程
  • 学会使用computed计算属性与watch监听(小白学习笔记)
  • 深入Android架构(从线程到AIDL)_24 活用IBinder接口于近程通信02
  • 深入NLP核心技术:文本张量表示与词嵌入全面解析
  • 【GESP】C++二级练习 luogu-B2080, 计算多项式的值
  • Iterator 与 ListIterator 的区别
  • 头部(Header)
  • Vulnhub-Red靶机笔记
  • FFmpeg音视频流媒体,视频编解码性能优化
  • 【pikachu】靶场中爆破模块的token检测,如何使用burp进行爆破
  • Vue3框架核心功能点响应式数据reactive、组合式API setup、computed、组件通信、路由导航,状态管理vuex、pinia等的实战示例代码
  • 从0开始搭建MySQL服务 | 创建库 、创建表、数据写入、查数据
  • Qt 智能指针
  • 三维卷积( 3D CNN)
  • 通过一个含多个包且引用外部jar包的项目实例感受Maven的便利性
  • js前序遍历等
  • git - 用SSH方式迁出远端git库
  • 从0开始分享一个React项目(二):React-ant-admin
  • docker配置镜像加速
  • 【LC】3270. 求出数字答案