首页 > 编程语言 >php二维数组根据key去重

php二维数组根据key去重

时间:2023-08-22 21:45:01浏览次数:32  
标签:arr return key field 二维 数组 array php

 

一、性能高,不易理解:

/**
 * 二维数组去重
 * @param $array    二维数组
 * @param $field    根据二维数组中的某个字段进行去重
 * @return array|false
 */
public function array_unique_key($array,$field)
 {
     if(empty($array) || !$field){
         return false;
     }
     //返回指定字段的一列数据
     $fields = array_column($array, $field);
     //去重
     $fields = array_unique($fields);
     //比较两个数组,返回交集,只比较键(key)
     $data   = array_intersect_key($array,$fields);
     //重置数组的键(key)
     $data   = array_values($data);
     return $data;
 }

 

二、性能低,容易理解:

 

public function array_unique_key($arr,$key)
{ $tmp_arr=array(); foreach($arr as $k => $v){ if(in_array($v[$key],$tmp_arr)){ //判断是否重复 unset($arr[$k]); //重复则删除 }else{ $tmp_arr[]=$v[$key]; //将值存储在临时数组中 } } return $arr; }

 

标签:arr,return,key,field,二维,数组,array,php
From: https://www.cnblogs.com/fyiyy/p/17649771.html

相关文章

  • Springboot生成二维码整合
    Springboot生成二维码整合我们使用两种方式,去生成二维码,但是其实,二维码的生成基础,都是zxing包,这是Google开源的一个包,第一种是使用原始的zxing方式去实现,第二种是使用hutool来实现,hutool其实也是对于zxing的一个封装,但是封装前后,确实比较简单了。Zxing原生方式添加依赖<!--zx......
  • 无涯教程-PHP - eregi_replace()函数
    eregi_replace()-语法stringeregi_replace(stringpattern,stringreplacement,stringoriginalstring);eregi_replace()函数的操作与ereg_replace()完全相同,只是在字符串中搜索模式不区分大小写。eregi_replace()-返回值发生替换后,将返回修改后的字符串。如果未......
  • 无涯教程-PHP - ereg()函数
    ereg()-语法intereg(stringpattern,stringoriginalstring,[arrayregs]);ereg()函数在string指定的字符串中搜索pattern指定的字符串,如果找到pattern,则返回true,否则返回false。搜索对于字母字符区分大小写。可选的输入参数regs包含一个由正则表达式中的括号分组的所有......
  • 无涯教程-PHP - 全局变量函数
    全局变量与局部变量相反,可以在程序的任何部分访问全局变量。通过将关键字GLOBAL放置在应被识别为全局变量的前面,可以很方便地实现这一目标。<?php$somevar=15;functionaddit(){GLOBAL$somevar;$somevar++;print"Somevaris$s......
  • 无涯教程-PHP - 局部变量函数
    Localvariables-局部变量在函数中声明的变量被认为是局部变量,也就是说,只能在该函数中引用它。该函数以外的任何赋值都将被视为与该函数中包含的赋值完全不同的变量-<?php$x=4;functionassignx(){$x=0;print"\$xinsidefunctionis$x.<br......
  • 无涯教程-PHP Installation on Windows NT/2000/XP with Apache函数
    要在Windows上使用PHP5安装Apache,请执行以下步骤。如果您的PHP和Apache版本不同,请相应注意。从www.apache.org/dist/httpd/binaries/win32下载Apache服务器。您需要具有no_src.msi扩展名的当前稳定发行版。双击安装程序文件进行安装;C:\ProgramFiles是一个常见的位置。安装......
  • Web_PHP_MySQL_XAMPP下MYSQL中文乱码问题的解决
    1、找到xampp安装目录下的D:\xampp\mysql\bin\my.ini文件并打开; 2、找到标记[mysqld]和标记[mysql]两处; 3、在这2处标记下分别添加编码配置信息:default-character-set=gbk;修改后如下:->Ini代码 [mysql] no-auto-rehash default-character-set=gbk  [mysql......
  • Web_PHP_DedeCMS_{dede:sql}标签用法;
    {dede:sqlsql='selecta.title,a.litpic,z.expert,d.level,d.titles,d.resumefromdede_archivesasa,dede_addonzjtbasz,dede_addondocterasdwherea.id=z.aidandz.expert=d.nameANDa.litpicisnotnullGROUPBYa.titleLIMIT2'} <div......
  • Web_PHP_DedeCMS_DedeCMS开发点滴(开发库);
    1、自增变量autoindex使用[field:global.autoindex/][field:globalname=autoindexrunphp="yes"]if(@me<4){@me='orange';}else{@me='';}[/field:global]2、文章发布时间3、栏目简介功能:就是某栏目不需要列表页、内容页,它只需要一介绍页面,但用静态页面......
  • Web_PHP_DedeCMS_搜索结果列表页面描述信息截取问题;
    功能:解决搜索结果列表页描述信息含有关键字样式时,直接截取后显示结果不理想(长短不一、乱码)问题;自定义函数:在include\extend.func.php中添加;//处理搜索页面描述信息截取问题//stripos()_返回字符串在另一字符串中第一次出现的位置(大小写不敏感);functionsubSearchText($val,......