首页 > 编程语言 >PHP 自定义 数组根据键去重

PHP 自定义 数组根据键去重

时间:2022-12-07 16:44:44浏览次数:46  
标签:tmp unique 数组 自定义 item key array PHP

去重前

去重前

$result = $this->unique_array_by_key($result,"id");

 function unique_array_by_key($array, $unique_key) {

        $tmp_key[] = array();

        foreach ($array as $key => &$item) {

            if ( is_array($item) && isset($item[$unique_key]) ) {

                if ( in_array($item[$unique_key], $tmp_key) ) {

                    unset($array[$key]);

                } else {

                    $tmp_key[] = $item[$unique_key];

                }

            }

        }

        return $array;

    }

去重后

去重后

标签:tmp,unique,数组,自定义,item,key,array,PHP
From: https://www.cnblogs.com/depressiom/p/16963540.html

相关文章

  • 二维数组
    #include<stdio.h>#include<string.h>#include<math.h>#include<stddef.h>intmain(){ intarr[3][4]={{1,2},{3,4},{5,6}}; inti=0; intj=0; for(i=0;i<3;i......
  • 二维数组在内存中的存储
    #include<stdio.h>#include<string.h>#include<math.h>#include<stddef.h>intmain(){ intarr[3][4]; inti=0; for(i=0;i<3;i++) { intj=0; for(j=0;j<......
  • PHP加密代码及部分解密处理
    PHP是动态解析型语言即代码不需要编译运行,因不利于代码保密所以在一些商业或黑客会将代码进行加密处理,尽可能的保护知识产权,是一种合理合法的做法。特别说明:以下解密思路及......
  • 建造者模式(描述语言PHP)
    Builder模式强调的是一步步创建对象,并通过相同的创建过程可以获得不同的结果对象,一般来说Builder模式中对象不是直接返回的。 <?php/***建造者模式**将一个复杂......
  • 力扣540(java&python)-有序数组中的单一元素(中等)
    题目:给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数。你设计的解决方案必须满足O(logn)时间复......
  • 现代javascript教程 数组
    array字面量或者构造函数声明数组newArray(100),长度100的空获取数组长度,是一个属性,arr.length获得元素,通过索引值,arr[0]修改数组,arr[0]=0用alert方法打印数组,会......
  • 算法练习:两指针之有序数组去重
    问题描述给出一个有序数组,就地移除重复元素,保持每个元素只出现一次,并返回新数组的长度。 问题分析这个比较简单,直接使用两个指针,一个在前,一个在后,扫描一遍数组即可。时间复......
  • C++知识点:数组末端下一位置
    c++语言规定,数组末端下一位置是合法的,但不允许对其解引用(即解引用是未定义的)。......
  • 前端学习之------检测数组中的id,在对象数组中是否存在?
    1、数组为:2、对象数组为:3、检测arr中的id,在objArr中是否存在? ......
  • 209. 长度最小的子数组
    给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥target 的长度最小的 连续子数组 [numsl,numsl+1,...,numsr-1,numsr] ,并返......