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如何去掉多维数组的重复值的更多相关文章

  1. php如何去掉二维数组中重复的元素?

    $arr=array("=>array("a","b")); 我想得到的结果是:只输出第一项(第一项和第三项相同,去第一项)和第二项这个怎么解决 ...

  2. 二维数组去除重复值和array_unique函数

    今天遇到了一个问题,就是从数据库中去除的数组为一个二维数组,现在就是想将二位数组进行去重,但是在php中,对于一个一维数组,我们可以直接使用php的系统函数array_unique,但是这个函数不能对 ...

  3. php二维数组去除重复值

    <?php //二维数组 $test["aa"] = array("id"=>"17","name"=> ...

  4. php如何去掉二维数组中重复的元素

    $arr=array( "1"=>array("a","b "), "2"=>array("a&q ...

  5. PHP 按二维数组的键值排序

    /** * 按二维数组的键值排序 * @param unknown $array 二维数组 * @param unknown $key 二维数组的键值 * @param string $order 升 ...

  6. JS去除数组中重复值的四种方法

    JS去除数组中重复值的四种方法 1 /// <summary>            o[this[i]] = "";  }      }       newArr.p ...

  7. 使用一个for循环将N*N的二维数组的所有值置1

    <?php // 使用一个for循环将N*N的二维数组的所有值置1 $n = ; $a = []; ;$i<$n*$n;$i++){ $a[$i/$n][$i%$n] = ; } prin ...

  8. PHP二维数组按照键值排序

    在开发过程中,我们常常需要对二维数组按照数组的某个键来排序,这里提供两个封装好的方法,可以放到公共函数模块里以后需要的时候直接调用即可. /** * 二维数组按照键值降序排序 * @param arr ...

  9. php 检查该数组有重复值

    if (count($array) != count(array_unique($array))) { echo '该数组有重复值'; }

随机推荐

  1. swift入门-实现简单的登录界面

    // // AppDelegate.swift // UIWindow import UIKit @UIApplicationMain class AppDelegate: UIResponder, ...

  2. nodejs是什么

    nodejs是什么 一种javascript的运行环境,能够使得javascript脱离浏览器运行. 阅读本帖需要先复习小学语文课文,华罗庚的<统筹方法>. 比如,想泡壶茶喝.当时的情况是 ...

  3. OpenGL的前世和今生

    这并不是一个恰当的题目,因为我主要想说的是OpenGL的今生,基于OpenGL3.x一种更现代化的方式.但是把前世和今生放在一起在语言上更加连贯,而且适当的了解过去,会帮助理解现在的OpenGL,以一 ...

  4. 空值(NULL)和非空(NOT NULL)(十二)

    不多说,直接上干货! NULL:表示字段可以为空 NOT NULL:表示字段不允许为空 注意:NULL和NOT NULL不可以同时用于一个字段上. create table tb2( username ...

  5. 针对发起alter tablespace test begin backup 断电情况的处理

    SQL> select tablespace_name from dba_tablespaces; TABLESPACE_NAME ------------------------------ ...

  6. OpenGL编程逐步深入(十一)组合变换

    准备知识 在前面的几节教程中,我们已经提到过几种变换,为物体在3D世界中的移动提供的极大的灵活性.但是我们还有很多东西需要学习(如摄像机控制和透视投影),你可以已经猜到,我们需要將这些变换组合起来.在 ...

  7. 集合TreeSet的使用

    集合中的TreeSet是集合体系结构中的底层实现,是Collection的孙子,Set的儿子.TreeSet除拥有父接口的特点外,还有其自身的特点.下面就看看TreeSet的排序是怎么实现的.从它的构 ...

  8. c# IndexOf()用法

    IndexOf()用法 查找字符串中字符或者字符串首次出现的位置,返回的是索引值; str1.indexOf('字');//查找“字”在字符串中首次出现的索引值 str1.indexOf(" ...

  9. Navicat for Oracle

    1.先解压Navicat for Oracle到任意目录 2.将instantclient-basic-nt-12.1.0.2.0解压到1中目录的instantclient_10_2文件夹下(推荐,可 ...

  10. WLAN HAL

      WLAN HAL WLAN 框架具有三个 WLAN HAL 表面,分别由三个不同的 HIDL 软件包表示: 供应商 HAL:Android 专用命令的 HAL 表面.HIDL 文件位于 hardw ...