Home  >  Article  >  Backend Development  >  How to remove identical elements from two arrays in php

How to remove identical elements from two arrays in php

PHPz
PHPzOriginal
2023-04-26 14:21:501013browse

In PHP, removing identical elements from two arrays is a very common task. Normally, we can use PHP's built-in functions to accomplish this task. In this article, I will show you how to remove identical elements from two arrays using different methods.

Method 1: array_diff() function

PHP’s built-in array_diff() function can easily find the difference between two arrays. We can use this function to find the different elements in two arrays.

The following is an example:

$array1 = array("apple", "banana", "orange");
$array2 = array("apple", "pear");

$result = array_diff($array1, $array2);

print_r($result);

The output is:

Array
(
    [1] => banana
    [2] => orange
)

This means that the "banana" and "orange" elements in $array1 are not in $array2.

Method Two: Using a Loop

Another solution is to use a loop to iterate through two arrays and remove identical elements. Here we can use the foreach loop statement to traverse the array and use the in_array() function to check whether the same element exists in the array.

The following is an example:

$array1 = array("apple", "banana", "orange");
$array2 = array("apple", "pear");

foreach ($array1 as $key => $value) {
    if (in_array($value, $array2)) {
        unset($array1[$key]);
    }
}

print_r($array1);

The output is:

Array
(
    [1] => banana
    [2] => orange
)

This is the same result as using the array_diff() function. In this example, we use foreach loop statement to iterate through the first array and use in_array() function to check if the same element exists in the second array. If the same element exists, we can use the unset() function to remove the element from the first array.

Method 3: Use array_filter() function

We can use PHP's built-in array_filter() function to obtain array elements that meet specified conditions. We can use this function to get the different elements between two arrays.

The following is an example:

$array1 = array("apple", "banana", "orange");
$array2 = array("apple", "pear");

$result = array_filter($array1, function ($value) use ($array2) {
    return !in_array($value, $array2);
});

print_r($result);

The output is:

Array
(
    [1] => banana
    [2] => orange
)

This is the same result as using the array_diff() function. In this example, we use the array_filter() function to get the elements in the first array that are not the same as those in the second array. We created an anonymous function that uses the in_array() function to check if the value is in the second array. If not, we return true, that is, the specified condition is met, and the value will be retained in the result array.

Conclusion

The above are three commonly used methods, using PHP built-in functions or loops to remove identical elements from two arrays. You can choose the appropriate method according to your actual needs. No matter which method you choose, this task can be accomplished easily and I hope this article will be helpful to you.

The above is the detailed content of How to remove identical elements from two arrays in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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