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!