Home >Backend Development >PHP Problem >How to merge arrays and remove duplicates in php
In PHP development, when merging arrays, sometimes there are duplicate values in the array, and we want to remove duplicate values from the merged array. How should we deal with this? This article will introduce a simple and practical method that allows you to easily merge arrays and remove duplicates.
Method 1: Use array_merge in combination with array_unique
The array_merge function in PHP merges one or more arrays into one array, which can meet the needs of array merging; while the array_unique function can be removed Duplicate values in the array. Combining these two functions can achieve the functions of merging and deduplication.
The sample code is as follows:
$array1 = array('a', 'b', 'c'); $array2 = array('b', 'c', 'd'); $array3 = array('c', 'd', 'e'); $merged_array = array_merge($array1, $array2, $array3); $unique_array = array_unique($merged_array); print_r($unique_array);
The output result is as follows:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
In the above code, three arrays are first defined, namely $array1, $array2 and $array3. Then use the array_merge function to merge these three arrays into one array $merged_array. Then, use the array_unique function to remove duplicate values, and finally get the merged and deduplicated array $unique_array.
Method 2: Use the " " operator
In PHP, you can also use the " " operator to merge two arrays and remove duplicate values. This operator will remove duplicate key values in the first array from the second array.
The sample code is as follows:
$array1 = array('a', 'b', 'c'); $array2 = array('b', 'c', 'd'); $array3 = array('c', 'd', 'e'); $merged_array = $array1 + $array2 + $array3; print_r($merged_array);
The output result is as follows:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
In the above code, three arrays are first defined, namely $array1, $array2 and $array3. Then use the " " operator to merge these three arrays into one array $merged_array. Since there are duplicate key values in the second array and the first array, the " " operator removes the duplicate key values in the first array. Finally, the merged and deduplicated array $merged_array is obtained.
Method 3: Use array_reduce function
In addition to the above two methods, we can also use the array_reduce function in PHP to merge arrays and remove duplicates. In the array_reduce function, we can customize a callback function for merging arrays to achieve the function of removing duplicate values.
The sample code is as follows:
$array1 = array('a', 'b', 'c'); $array2 = array('b', 'c', 'd'); $array3 = array('c', 'd', 'e'); $merged_array = array_reduce(array($array1, $array2, $array3), function ($merged, $arr) { foreach ($arr as $value) { if (!in_array($value, $merged)) { array_push($merged, $value); } } return $merged; }, array()); print_r($merged_array);
The output result is as follows:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
In the above code, we use the array_reduce function to merge three arrays into one array. Among them, the first parameter is the array that needs to be processed, the second parameter is the callback function, and the third parameter is the initial value of the callback function. Inside the callback function, we use a foreach loop to iterate through the values in each array and use the in_array function to find whether the value exists in the merged array. If it does not exist, the value is added to the merged array and the final merged result is returned.
To sum up, we can use three methods to merge arrays and remove duplicates in PHP. These methods are array_merge combined with array_unique, using the " " operator and using the array_reduce function. According to different needs and scenarios, we can choose the appropriate method to achieve array merging and deduplication.
The above is the detailed content of How to merge arrays and remove duplicates in php. For more information, please follow other related articles on the PHP Chinese website!