PHP如何去掉多维数组的重复值
1.定义函数
function array_unique_new($arr){
$t = array_map('serialize', $arr);//利用serialize()方法将数组转换为以字符串形式的一维数组
$t = array_unique($t);//去掉重复值
$new_arr = array_map('unserialize', $t);//然后将刚组建的一维数组转回为php值
return $new_arr;
}
2.定义数组
$arr = array(
array(
'sup_name' => '上海',
'cn_name' => 'EthylAcetate',
'en_name' => '乙酸乙酯1',
'pinyin' => 'yisuanyizhi',
'pro_info' => '耗材',
),
array(
'sup_name' => '上海2',
'cn_name' => 'EthylAcetate',
'en_name' => '乙酸乙酯2',
'pinyin' => 'yisuanyizhi',
'pro_info' => '耗材',
),
array(
'sup_name' => '上海4',
'cn_name' => 'EthylAcetate',
'en_name' => '乙酸乙酯1',
'pinyin' => 'yisuanyizhi',
'pro_info' => '耗材',
),
array(
'sup_name' => '上海',
'cn_name' => 'EthylAcetate',
'en_name' => '乙酸乙酯3',
'pinyin' => 'yisuanyizhi',
'pro_info' => '耗材',
),
array(
'sup_name' => '上海1',
'cn_name' => 'EthylAcetate',
'en_name' => '乙酸乙酯4',
'pinyin' => 'yisuanyizhi',
'pro_info' => '耗材',
),
array(
'sup_name' => '上海',
'cn_name' => 'EthylAcetate',
'en_name' => '乙酸乙酯3',
'pinyin' => 'yisuanyizhi',
'pro_info' => '耗材',
),
array(
'sup_name' => '上海1',
'cn_name' => 'EthylAcetate',
'en_name' => '乙酸乙酯4',
'pinyin' => 'yisuanyizhi',
'pro_info' => '耗材',
),
);
3.执行测试
$new_arr = $this->array_unique_new($arr);
echo '<pre/>';
print_r($new_arr);
PHP如何去掉多维数组的重复值的更多相关文章
- php如何去掉二维数组中重复的元素?
$arr=array("=>array("a","b")); 我想得到的结果是:只输出第一项(第一项和第三项相同,去第一项)和第二项这个怎么解决 ...
- 二维数组去除重复值和array_unique函数
今天遇到了一个问题,就是从数据库中去除的数组为一个二维数组,现在就是想将二位数组进行去重,但是在php中,对于一个一维数组,我们可以直接使用php的系统函数array_unique,但是这个函数不能对 ...
- php二维数组去除重复值
<?php //二维数组 $test["aa"] = array("id"=>"17","name"=> ...
- php如何去掉二维数组中重复的元素
$arr=array( "1"=>array("a","b "), "2"=>array("a&q ...
- PHP 按二维数组的键值排序
/** * 按二维数组的键值排序 * @param unknown $array 二维数组 * @param unknown $key 二维数组的键值 * @param string $order 升 ...
- JS去除数组中重复值的四种方法
JS去除数组中重复值的四种方法 1 /// <summary> o[this[i]] = ""; } } newArr.p ...
- 使用一个for循环将N*N的二维数组的所有值置1
<?php // 使用一个for循环将N*N的二维数组的所有值置1 $n = ; $a = []; ;$i<$n*$n;$i++){ $a[$i/$n][$i%$n] = ; } prin ...
- PHP二维数组按照键值排序
在开发过程中,我们常常需要对二维数组按照数组的某个键来排序,这里提供两个封装好的方法,可以放到公共函数模块里以后需要的时候直接调用即可. /** * 二维数组按照键值降序排序 * @param arr ...
- php 检查该数组有重复值
if (count($array) != count(array_unique($array))) { echo '该数组有重复值'; }
随机推荐
- swift入门-实现简单的登录界面
// // AppDelegate.swift // UIWindow import UIKit @UIApplicationMain class AppDelegate: UIResponder, ...
- nodejs是什么
nodejs是什么 一种javascript的运行环境,能够使得javascript脱离浏览器运行. 阅读本帖需要先复习小学语文课文,华罗庚的<统筹方法>. 比如,想泡壶茶喝.当时的情况是 ...
- OpenGL的前世和今生
这并不是一个恰当的题目,因为我主要想说的是OpenGL的今生,基于OpenGL3.x一种更现代化的方式.但是把前世和今生放在一起在语言上更加连贯,而且适当的了解过去,会帮助理解现在的OpenGL,以一 ...
- 空值(NULL)和非空(NOT NULL)(十二)
不多说,直接上干货! NULL:表示字段可以为空 NOT NULL:表示字段不允许为空 注意:NULL和NOT NULL不可以同时用于一个字段上. create table tb2( username ...
- 针对发起alter tablespace test begin backup 断电情况的处理
SQL> select tablespace_name from dba_tablespaces; TABLESPACE_NAME ------------------------------ ...
- OpenGL编程逐步深入(十一)组合变换
准备知识 在前面的几节教程中,我们已经提到过几种变换,为物体在3D世界中的移动提供的极大的灵活性.但是我们还有很多东西需要学习(如摄像机控制和透视投影),你可以已经猜到,我们需要將这些变换组合起来.在 ...
- 集合TreeSet的使用
集合中的TreeSet是集合体系结构中的底层实现,是Collection的孙子,Set的儿子.TreeSet除拥有父接口的特点外,还有其自身的特点.下面就看看TreeSet的排序是怎么实现的.从它的构 ...
- c# IndexOf()用法
IndexOf()用法 查找字符串中字符或者字符串首次出现的位置,返回的是索引值; str1.indexOf('字');//查找“字”在字符串中首次出现的索引值 str1.indexOf(" ...
- Navicat for Oracle
1.先解压Navicat for Oracle到任意目录 2.将instantclient-basic-nt-12.1.0.2.0解压到1中目录的instantclient_10_2文件夹下(推荐,可 ...
- WLAN HAL
WLAN HAL WLAN 框架具有三个 WLAN HAL 表面,分别由三个不同的 HIDL 软件包表示: 供应商 HAL:Android 专用命令的 HAL 表面.HIDL 文件位于 hardw ...