• 技术文章 >后端开发 >php教程

    php学习之两种方法使用比较数组差异的array_diff()函数

    little bottlelittle bottle2019-04-20 17:55:52转载871
    本篇文章将简单介绍php比较两个数组的差异array_diff()函数,感兴趣的朋友可以了解一下。

    php内置函数中有一个array_diff():意思比较两个数组的键值,并返回差集。

    下面是通过数组遍历来实现差集:
    首先有两个不同的数组$arr_1,$arr_2:
    第一种方法:


    function fun($arr_1,$arr_2)
    {       foreach ($arr_1 as $key => $val)
          {              $bool = false;              foreach ($arr_2 as $k => $v)
                 {                   if($bool = ($val == $v))
                      {                           break;
                       }
                 }             if(!$bool)
                {                 $diff[$key] = $val;
                 }
           }
    }

    这种虽然能够实现数组间的差异,如果数组长度达到一定的长度后,效率不容乐观。

    二种方法:


    foreach ($arr_1 as $key => $val)
    {    if(in_array($val,$arr_2))
        {        unset($arr_1[$key]);
        }
    }

    这种方式在其他博客上说可以和array_diff()媲美。

    三种方式:
    通过"array_flip();"将arr_2数组键值反转后,判断arr_1数组中的值是否在arr_2的键中


    $arr_2 = array_flip($arr_2);foreach ($arr_1 as $key => $val)
    {    if(isset($arr_2[$val]))
        {        unset($arr_1[$key]);
        }
    }

    相关教程:PHP视频教程

    以上就是php学习之两种方法使用比较数组差异的array_diff()函数的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除
    专题推荐:php array_diff()
    上一篇:巧用ThinkPHP5.1和 tufanbarisyildirim 快速解析apk 下一篇:.url文件如何用手机打开?
    大前端线上培训班

    相关文章推荐

    • PHP的array_diff()函数处理大数组时超时的BUG问题详解• 关于array_diff()的10篇文章推荐• 详解php中的array_diff() 函数• php中array_diff()函数比较数组差异的三种实现方法

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网