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

不言
Release: 2023-04-04 16:26:01
forward
3338 people have browsed it

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;
             }
       }
}
Copy after login

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]);
    }
}
Copy after login

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]);
    }
}
Copy after login

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!

Related labels:
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!