PHP二维数组根据某个元素(key)去重

    /**
     * 二维数组根据key去重复
     * @param $arr
     * @param $key
     * @return array
     */
    function arrayUniqueness($arr,$key){
        $res = array();
        foreach ($arr as $value) {
            //查看有没有重复项
            if(isset($res[$value[$key]])){
                //有:销毁
                unset($value[$key]);
            }
            else{
                $res[$value[$key]] = $value;
            }
        }
        return $res;
    }

原文地址:https://www.cnblogs.com/bk233/p/9023496.html

时间: 2024-07-29 19:05:55

PHP二维数组根据某个元素(key)去重的相关文章

PHP二维数组根据某个元素(key)排序

/** * 二维数组根据key排序 * @param $arr * @param $arr_key * @param string $order 排序规则 * @return mixed */ function myArrayMultisort($arr,$arr_key,$order='asc'){ foreach($arr as $val){ $key_arrays[]=$val[$arr_key]; } if ($order == 'asc'){ array_multisort($key_

PHP二维数组合并,根据某个key合并

/** *PHP二维数组合并,根据某个key合并 * @param type $v 要传入的组合阵列 * @param type $keyname 对应的KEY名称. * @param type $valname 要写入的值KEY名称 * @param type $s 重组译的阵例.预设空值. */ function test($v,$keyname,$valname,$s=Array()){ foreach($v AS $_k => $d){ $s[$d[$keyname]][$valname

实例13_求解二维数组的最大元素和最小元素

实例说明: 看完题,我觉得作者应该就是让我输出一个数组中最大的数字和最小的数字吧,于是开始写了. 1.先给数组赋值 2.然后遍历数组,通过中间值,选出最大的和最小的. 1 /** 2 * Copyright (c) 1991 - 2016 Arvin Tang. 3 * All rights reserved. 4 * 5 * 文件名称:实例13 6 * 简要描述:求解二维数组的最大和最小元素 7 * 8 * 当前版本:1.0 9 * 作 者: 10 * 完成日期:2016-1-7 11 * 修

qsort 函数的使用——对普通数组、指针数组、二维数组中的元素进行排序

在ANSI C中,qsort函数的原型是 #include <stdlib.h> void qsort(void *base, size_t nmemb, size_t size, int (*compar) (const void *, const void *)); 解释:qsort函数对含有nmemb个元素的数组进行排序,而base指针指向数组的第一个元素.这个数组的元素个数由size指定. compar函数对qsort的比较操作进行定义,所以可以定制数字的比较,字符串的比较,甚至结构体

查找有序二维数组中的元素

给定一个已排序的二维数组array,在其中查找一个元素value 查找策略如下图: (1)将value和数组的右上角的值比较,如果大于右上角的值,则移除数组的第一行. (2)将value和数组的左下角的值比较,如果大于左下角的值,则移除数组的第一列. (3)直到查找完毕,已经找不到符合(1)(2)的情况后,或者数组只剩下一个元素 (4)得到一个较小的二维数组,再遍历该数组即可.             /** * Created by wuchao on 17-3-29. */ import j

PHP对一个二维数组内的元素进行排序和冒泡排序

$arr=array( 'a'=>array('name'=>'n1','age'=>22), 'b'=>array('name'=>'n2','age'=>21), 'c'=>array('name'=>'n3','age'=>25), 'd'=>array('name'=>'n4','age'=>20) ); //要求根据age值,对数组进行排序. $newArr=array(); $arrn=$arr; foreach($arr

去掉二维数组中某个元素重复的一维数组

$i = [0]; foreach($data as $key => &$value){ if(in_array($value['patient_id'],$i)){ unset($data[$key]); }else{ $i[] = $value['patient_id']; } }

PHP 统计一维数组value相同的元素的个数num,并将其转化为下标为数字,值是value和num的二维数组

最近做一个项目,从数据库查询某个字段得到一个数组key是数字值是channel的一维数组$res,现需要将这个数组变成键是数字值是channel和num(num为相同channel的数量,默认为0). $res数组 array (size=2) 0 => string '0' (length=1) 1 => string '500000009' (length=9) 2 => string '500000009' (length=9) $rs数组 array (size=2) 0 =&g

二维数组的认识及其表示元素的两种方式

/* ============================================================================ Name : TeatArr.c Author : lf Version : Copyright : Your copyright notice Description : 二维数组的认识以及其表示元素的两种方式 备注说明 1 要理解二维数组的存储方式. 2 实际上利用a[i][j]的方式并不"正统",这是这靠近我们的 常识一些