Home >Backend Development >PHP Problem >How to determine which elements of two arrays are duplicated in php

How to determine which elements of two arrays are duplicated in php

PHPz
PHPzOriginal
2023-04-18 14:07:00691browse

In PHP development, it is a common requirement to determine whether there are duplicate elements in an array. This article will introduce how to use PHP to determine which elements are duplicated in two arrays.

First, we need to understand the structure of the two arrays. An array in PHP is an ordered composite data type that consists of one or more key-value pairs. The key-value relationship can be any type of variable, including numbers and strings.

For example, here are two simple arrays:

$array1 = array('apple', 'banana', 'orange', 'grape');
$array2 = array('banana', 'watermelon', 'grape', 'melon');

Next, we need to iterate through these two arrays separately and store their elements into a new array. We can achieve this using PHP's array_intersect function.

$common_elements = array_intersect($array1, $array2);

array_intersectThe function returns the intersection of two arrays, which is the elements that exist in both arrays. In this example, the $common_elements array will contain the two elements 'banana' and 'grape'.

Now, we have got the duplicate elements in both arrays. However, we may also need to know their position in the original array.

To solve this problem, we can use PHP's array_unique function to extract the unique elements in the array, and use the array_diff function to find out where these unique elements are in the original Element that does not exist in the array. These elements are the results we want.

$unique_elements = array_unique(array_merge($array1, $array2));
$duplicate_elements = array_diff(array_merge($array1, $array2), $unique_elements);

In this code, we first merge the two arrays and filter out the unique elements using the array_unique function. We then use the array_diff function to find the difference between the original array and the array of unique elements, i.e. the array of repeated elements.

Finally, we need to print out these arrays, you can use the following code:

echo "Array1: ";
print_r($array1);

echo "Array2: ";
print_r($array2);

echo "Common Elements: ";
print_r($common_elements);

echo "Duplicate Elements: ";
print_r($duplicate_elements);

The complete PHP code is as follows:

<?php

$array1 = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;grape&#39;);
$array2 = array(&#39;banana&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;melon&#39;);

$common_elements = array_intersect($array1, $array2);

$unique_elements = array_unique(array_merge($array1, $array2));
$duplicate_elements = array_diff(array_merge($array1, $array2), $unique_elements);

echo "Array1: ";
print_r($array1);

echo "Array2: ";
print_r($array2);

echo "Common Elements: ";
print_r($common_elements);

echo "Duplicate Elements: ";
print_r($duplicate_elements);

?>

The output of this code is as follows:

Array1: Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)
Array2: Array
(
    [0] => banana
    [1] => watermelon
    [2] => grape
    [3] => melon
)
Common Elements: Array
(
    [1] => banana
    [3] => grape
)
Duplicate Elements: Array
(
    [0] => banana
    [1] => grape
)

As you can see from the output, we have successfully found duplicate elements in the two arrays.

To sum up, this article introduces how to use PHP to determine which elements are repeated in two arrays. We can easily implement this function using PHP's built-in array_intersect and array_diff functions. At the same time, we can also use the array_unique function to extract the only element in the array and compare it with the original array to find the position of the repeated elements in the original array.

The above is the detailed content of How to determine which elements of two arrays are duplicated 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