php数组去重实例及分析

 更新时间:2013年11月26日 09:25:40   作者:  
这篇文章主要是介绍了php数组去重实例及分析。需要的朋友可以过来参考下,希望对大家有所帮助

一维数组的重复项:

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

复制代码 代码如下:

              <?php
                  $aa=array("apple","banana","pear","apple","wail","watermalon");
                  $bb=array_unique($aa);
                  print_r($bb);
               ?>

结果如下:Array ( [0] => apple [1] =>banana [2] => pear [4] => wail [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('id' => 123, 'name' =>'张三'),
           array('id' => 123, 'name' =>'李四'),
           array('id' => 124, 'name' =>'王五'),
           array('id' => 125, 'name' =>'赵六'),
           array('id' => 126, 'name' =>'赵六')
           );
           $key = 'id';
           assoc_unique(&$aa, $key);
           print_r($aa);
           ?>


显示结果为:Array ( [0] => Array ( [id] =>123 [name] => 张三 ) [1] => Array ([id] => 124 [name] => 王五 ) [2]=> Array ( [id] => 125 [name]=> 赵六 ) [3] => Array ( [id]=> 126 [name] => 赵六 ) )

㈡因内部的一维数组不能完全相同,而删除重复项

复制代码 代码如下:

           <?php
           function array_unique_fb($array2D){
                foreach ($array2D as $v){
                    $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
                    $temp[] = $v;
                }
                $temp =array_unique($temp);   //去掉重复的字符串,也就是重复的一维数组
               foreach ($temp as $k => $v){
                   $temp[$k] = explode(",",$v);  //再将拆开的数组重新组装
               }
               return $temp;
           }

           $aa = array(
           array('id' => 123, 'name' =>'张三'),
           array('id' => 123, 'name' =>'李四'),
           array('id' => 124, 'name' =>'王五'),
           array('id' => 123, 'name' =>'李四'),
           array('id' => 126, 'name' =>'赵六')
           );
           $bb=array_unique_fb($aa);
           print_r($bb)
           ?>


显示结果:Array ( [0] => Array ( [0] =>123 [1] => 张三 ) [1] => Array ( [0]=> 123 [1] => 李四 ) [2]=> Array ( [0] => 124 [1]=> 王五 ) [4] => Array ( [0]=> 126 [1] => 赵六 )) 

相关文章

  • PHP 对象继承原理与简单用法示例

    PHP 对象继承原理与简单用法示例

    这篇文章主要介绍了PHP 对象继承原理与简单用法,结合实例形式分析了PHP面向对象程序设计中对象继承的概念、原理与相关操作注意事项,需要的朋友可以参考下
    2020-04-04
  • Laravel 自动转换长整型雪花 ID 为字符串的实现

    Laravel 自动转换长整型雪花 ID 为字符串的实现

    这篇文章主要介绍了Laravel 自动转换长整型雪花 ID 为字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • php实现斐波那契数列代码分享

    php实现斐波那契数列代码分享

    这篇文章主要介绍了php实现斐波那契数列代码分享,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • 基于Laravel-admin 后台的自定义页面用法详解

    基于Laravel-admin 后台的自定义页面用法详解

    今天小编就为大家分享一篇基于Laravel-admin 后台的自定义页面用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • Yii2.0表关联查询实例分析

    Yii2.0表关联查询实例分析

    这篇文章主要介绍了Yii2.0表关联查询的方法,结合实例形式分析了Yii中关联查询的实现方法与相关使用技巧,需要的朋友可以参考下
    2016-07-07
  • 基于thinkPHP实现的微信自定义分享功能示例

    基于thinkPHP实现的微信自定义分享功能示例

    这篇文章主要介绍了基于thinkPHP实现的微信自定义分享功能,结合实例形式分析了thinkPHP调用微信接口实现自定义分享功能的相关操作技巧,需要的朋友可以参考下
    2016-09-09
  • phpstudy本地环境搭建超详细图文教程

    phpstudy本地环境搭建超详细图文教程

    这篇文章主要给大家介绍了关于phpstudy本地环境搭建超详细图文教程的相关资料,phpStudy是集安全、高效、功能于一体且完全免费的一键服务器环境搭建软件,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • Thinkphp3.2实用篇之计算型验证码示例

    Thinkphp3.2实用篇之计算型验证码示例

    本篇文章主要介绍了Thinkphp3.2实用篇之计算型验证码示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • php实现贪吃蛇小游戏

    php实现贪吃蛇小游戏

    本文给大家分享的是使用php实现贪吃蛇小游戏的代码,其主要思路是通过session记录位置来制作,应该说思路非常巧妙,推荐给大家
    2016-07-07
  • Yii2验证器(Validator)用法分析

    Yii2验证器(Validator)用法分析

    这篇文章主要介绍了Yii2验证器(Validator)用法,结合实例形式分析了Yii2验证器(Validator)的相关功能、格式、使用方法及注意事项,需要的朋友可以参考下
    2016-07-07

最新评论