PHP实现一维数组与二维数组去重功能示例

本文实例讲述了PHP实现一维数组与二维数组去重功能。分享给大家供大家参考,具体如下:

数组中重复项的去除

一维数组的重复项:

使用array_unique函数即可,使用实例如下:

<?php
  $aa=array("1","2","3","3","2","watermalon");
  $bb=array_unique($aa);
  print_r($bb);
?>

结果如下:

Array ( [0] => 1 [1] => 2 [2] => 3 [5] => watermalon )

二维数组的重复项:

对于二维数组咱们分两种情况讨论,一种是因为某一键名的值不能重复,删除重复项;另一种因为内部的一维数组不能完全相同,而删除重复项,下面举例说明:

因为某一键名的值不能重复,删除重复项

<?php
function assoc_unique($arr, $key)
{
  $tmp_arr = array();
  foreach($arr as $k => $v)
  {
    if(in_array($v[$key], $tmp_arr))//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
    {
     unset($arr[$k]);
    }
    else {
     $tmp_arr[] = $v[$key];
    }
  }
  sort($arr); //sort函数对数组进行排序
  return $arr;
}
$aa = array(
  array('shopId' => 1),
  array('shopId' => 1),
  array('shopId' => 2),
  array('shopId' => 2)
);
$key = 'id';
$result = assoc_unique($aa, $key);
print_r($result);
?>

显示结果为:

Array ( [0] => Array ( [shopId] => 1 ) [1] => Array ( [shopId] => 2 ))

PS:本站还有两款比较简单实用的在线文本去重复工具,推荐给大家使用:

在线去除重复项工具:
http://tools.jb51.net/code/quchong

在线文本去重复工具:
http://tools.jb51.net/aideddesign/txt_quchong

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《PHP数学运算技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP实现的多维数组去重操作示例

    本文实例讲述了PHP实现的多维数组去重操作.分享给大家供大家参考,具体如下: 最近用到了一个获取历史会议列表的问题,需要去这个多维数组去重后返回返回给客户端,这里使用了几个php的组装函数,分享下,示例代码如下: <?php $str = '{ "status": 0, "result": [ { "hostName": "杨新", "pcode2": "41675441", &q

  • php三维数组去重(示例代码)

    假设叫数组 $my_array; 复制代码 代码如下: // 新建一个空的数组.$tmp_array = array(); $new_array = array(); // 1. 循环出所有的行. ( $val 就是某个行)foreach($my_array as $k => $val){ $hash = md5(json_encode($val));    if (in_array($hash, $tmp_array)) {        echo('这个行已经有过了');    }else{

  • php冒泡排序、快速排序、快速查找、二维数组去重实例分享

    一.冒泡排序 复制代码 代码如下: //冒泡排序function bubble_sort($array){    $count=count($array);    if($count <= 0){        return false;    }    for($i=0;$i<$count;$i++){        for($j=0;$j<$count-$i-1;$j++){            if( $array[$j] > $array[$j+1] ){        

  • php数组去重实例及分析

    一维数组的重复项: 使用array_unique函数即可,使用实例如下: 复制代码 代码如下: <?php                  $aa=array("apple","banana","pear","apple","wail","watermalon");                  $bb=array_unique($aa);                 

  • php二维数组合并及去重复的方法

    本文实例讲述了php二维数组合并及去重复的方法.分享给大家供大家参考.具体实现方法如下: $arr = array_merge($labels,$label); //合并需要合并的俩个数组 $key = id;//去重条件 $tmp_arr = array();//声明数组 foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) //搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true { unset($arr

  • php 数组元素快速去重

    1.使用array_unique方法进行去重 对数组元素进行去重,我们一般会使用array_unique方法,使用这个方法可以把数组中的元素去重. <?php $arr = array(1,1,2,3,3,3,4,4,5,6,6,7,8,8,9,9,9); $arr = array_unique($arr); $arr = array_values($arr); print_r($arr); ?> 输出: Array ( [0] => 1 [1] => 2 [2] => 3

  • PHP数组去重的更快实现方式分析

    本文实例讲述了PHP数组去重的更快实现方式.分享给大家供大家参考,具体如下: 概述 使用PHP的array_unique()函数允许你传递一个数组,然后移除重复的值,返回一个拥有唯一值的数组.这个函数大多数情况下都能工作得很好.但是,如果你尝试在一个大的数组里使用array_unique()函数,它会运行地慢一些. 有一个比较好而且更快的函数array_flip()来替代使用array_unique()函数来创建唯一的数组.这个魔法般的函数会交换数组里面每一个元素的键和值,因为键值必须唯一,因此

  • PHP二维数组的去重问题解析

    之前写了一篇关于数组去重的文章,但是仅限于一维数组.下面的函数可以用于二维数组: 复制代码 代码如下: //二维数组去掉重复值 function array_unique_fb($array2D) { foreach ($array2D as $v) { $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 $temp[] = $v; } $temp = array_unique($temp); //去掉重复的字符串,也就是重复的一

  • PHP实现二维数组去重功能示例

    本文实例讲述了PHP实现二维数组去重功能.分享给大家供大家参考,具体如下: php中二维数组去重操作.例如从数据库中查询出的记录,根据某个键做去重操操作 代码如下: /** * 删除二维数组中相同项的数据,(一般用于数据库查询结果中相同记录的去重操作) * * @param array $_2d_array 二维数组,类似: * $tmpArr = array( * array('id' => 1, 'value' => '15046f5de5bb708e'), * array('id' =&

  • PHP二维数组去重实例分析

    本文实例分析了PHP二维数组去重的方法.分享给大家供大家参考,具体如下: 都知道一维数组去重用系统函数 array_unique($arr) 然后今天我用到二维数组了,也想去重,百度一大堆,都是将二维转一维 然后使用array_unique($arr) 看得我很恼火,所以决定自己写一个.比他的简单好懂,记录下来,以备后用 header('content-type:text/html;charset=utf8'); $arr = array( array('id'=>1,'psid'=>'P10

  • PHP二维数组去重算法

    需求 现在有下面一组二维数组: array(8) { [0]=> array(2) { ["name"]=> string(4) "name" ["value"]=> string(6) "青叶" } [1]=> array(2) { ["name"]=> string(5) "phone" ["value"]=> string(1

随机推荐