Home  >  Article  >  Backend Development  >  Three ways to implement the array_diff() function in PHP to compare array differences

Three ways to implement the array_diff() function in PHP to compare array differences

不言
不言forward
2019-01-03 10:13:303297browse

What this article brings to you is about the three implementation methods of array_diff() function in PHP to compare array differences. It has certain reference value. Friends in need can refer to it. I hope It will help you.

The following is a brief introduction to the array_diff() function that compares the difference between two arrays in PHP.

There is an array_diff() in the PHP built-in function: it means comparing the key values ​​of two arrays and returning the difference.

The following is to implement the difference set through array traversal:

First there are two different arrays $arr_1, $arr_2:

One method:

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;
             }
       }
}

Although this method can realize the difference between arrays, if the array length reaches a certain length, the efficiency is not optimistic.

Two methods:

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

This method is said to be comparable to array_diff() on other blogs.

Three ways:

After inverting the key value of the arr_2 array through "array_flip();", determine whether the value in the arr_1 array is in the key of arr_2

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

The above is the detailed content of Three ways to implement the array_diff() function in PHP to compare array differences. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete