Home  >  Article  >  Backend Development  >  Two ways to learn PHP using the array_diff() function to compare array differences

Two ways to learn PHP using the array_diff() function to compare array differences

little bottle
little bottleforward
2019-04-20 17:55:522535browse

This article will briefly introduce the array_diff() function in PHP to compare the difference between two arrays. Interested friends can learn about it.

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:
The first 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]);
    }
}

Related tutorials: PHP video tutorial

The above is the detailed content of Two ways to learn PHP using the array_diff() function 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