Current Location: Home> Latest Articles> Merge() + array_diff_ukey() to merge and remove keys

Merge() + array_diff_ukey() to merge and remove keys

M66 2025-06-06

In PHP, array_merge() and array_diff_ukey() are two very common functions that help us easily merge arrays and remove elements in the array based on specified conditions. In this article, we will explain how to merge arrays through these two functions and culminate the specified keys.

1. Introduction to array_merge() function

array_merge() is used to combine one or more arrays into an array. If the array has the same key name, the values ​​in the subsequent array overwrite the values ​​in the previous array.

For example:

 $array1 = ['a' => 'apple', 'b' => 'banana'];
$array2 = ['b' => 'blueberry', 'c' => 'cherry'];
$result = array_merge($array1, $array2);
print_r($result);

Output:

 Array
(
    [a] => apple
    [b] => blueberry
    [c] => cherry
)

2. Introduction to array_diff_ukey() function

The array_diff_ukey() function is used to compare the keys of two arrays and return the difference part. It determines the difference between two array keys based on user-defined callback functions.

For example:

 $array1 = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];
$array2 = ['a' => 'apricot', 'd' => 'date'];
$result = array_diff_ukey($array1, $array2, 'key_compare_func');
print_r($result);

function key_compare_func($key1, $key2) {
    return strcmp($key1, $key2);
}

Output:

 Array
(
    [b] => banana
    [c] => cherry
)

array_diff_ukey() compares the keys of the array, not the values, so its result is to return those keys that are in the first array but not in the second array.

3. Use array_merge() to merge the array and use array_diff_ukey() to remove the specified key

Combining these two functions, we can first merge the array and then remove specific keys according to the specified conditions. Here is a sample code that demonstrates how to merge two arrays through array_merge() and use array_diff_ukey() to culminate some keys.

Sample code:

 <?php
// Define two arrays
$array1 = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];
$array2 = ['b' => 'blueberry', 'd' => 'date'];

// Merge arrays
$mergedArray = array_merge($array1, $array2);

// Keys to be removed
$keysToRemove = ['b'];

// use array_diff_ukey() To remove the specified key
$finalArray = array_diff_ukey($mergedArray, $keysToRemove, function($key1, $key2) {
    return strcmp($key1, $key2);  // Comparison key
});

// Output result
print_r($finalArray);
?>

Output:

 Array
(
    [a] => apple
    [c] => cherry
    [d] => date
)

In this example, we first merge the $array1 and $array2 arrays with array_merge() to obtain a new merge array. Then, use array_diff_ukey() to remove elements containing the key 'b' . Finally, the returned array contains all elements except the key 'b' .

4. Scenarios using URLs

In some applications, it may involve using URLs to process data, such as getting data from URLs and manipulating arrays. If you need to process the URL and replace the domain name, we can use the parse_url() function to extract and modify the URL.

Assuming we need to replace the domain name in the URL with m66.net , we can use the following code: