PHP Array Merge Unique

23 May 2023 571 Reading time: 2 minute

How can we merge unique elements in two arrays with php?

Arrays are an essential data structure in PHP, allowing you to store and manipulate multiple values in a single variable. Oftentimes, you may need to merge two or more arrays together while removing any duplicate values. In this article, we'll explore the concept of merging unique arrays in PHP using the array_merge and array_unique functions.

The array_merge Function

The array_merge function in PHP is used to merge two or more arrays into a single array. It takes multiple array arguments and returns a new array that contains all the elements from the input arrays. Here's the basic syntax:

$result = array_merge($array1, $array2, ...);

Let's consider an example. Suppose we have two arrays, $array1 and $array2, as follows:

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

If we use the array_merge function to merge these two arrays, the resulting array will contain all the elements from both arrays:

$result = array_merge($array1, $array2);
print_r($result);

Output:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => orange
    [4] => grape
    [5] => kiwi
)

As you can see, the resulting array contains duplicate values, which may not be desirable in some cases. To remove the duplicates and obtain a merged array with unique elements, we can utilize the array_unique function.

The array_unique Function

The array_unique function in PHP is used to remove duplicate values from an array. It takes an array as input and returns a new array with only the unique values. Here's the basic syntax:

$result = array_unique($array);

 

Let's modify our previous example by applying the array_unique function to the merged array:

$mergedArray = array_merge($array1, $array2);
$uniqueArray = array_unique($mergedArray);
print_r($uniqueArray);

Output:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => grape
    [5] => kiwi
)

Now, the resulting array $uniqueArray contains only the unique elements from the merged arrays, and any duplicate values have been eliminated.

Merging Unique Arrays in One Step

To merge and obtain unique arrays in a single step, we can combine the array_merge and array_unique functions. Here's how it can be done:

$result = array_unique(array_merge($array1, $array2));
print_r($result);

Output:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => grape
    [5] => kiwi
)

By nesting the array_merge function inside the array_unique function, we can efficiently merge multiple arrays while ensuring that only the unique elements are included in the final result.

Conclusion

Merging arrays while removing duplicates is a common task in PHP development. By using the array_merge function to combine arrays and the array_unique function to remove duplicate values, you can easily achieve the desired result.

Similar articles