w3resource

PHP Array Exercises : Difference of two multidimensional arrays

PHP Array: Exercise-57 with Solution

Write a PHP function to compares two multidimensional arrays and returns the difference.

Sample Solution:

PHP Code:

<?php
// Function to compare keys for array_diff_uassoc
function key_compare($a, $b)
{
    // If keys are identical, return 0
    if ($a === $b)
        return 0;

    // Return 1 if $a is greater than $b, otherwise return -1
    return ($a > $b) ? 1 : -1;
}

// Function to find the difference between two multidimensional arrays based on associative keys
function multidimensional_array_diff($arr1, $arr2)
{
    // Use array_diff_uassoc to find the difference based on the provided key_compare function
    return array_diff_uassoc($arr1['c'], $arr2['c'], "key_compare");
}

// Two multidimensional arrays
$color1 = array('a' => 'White', 'b' => 'Red', 'c' => array('a' => 'Green', 'b' => 'Blue', 'c' => 'Yellow'));
$color2 = array('a' => 'White', 'b' => 'Red', 'c' => array('a' => 'White', 'b' => 'Red', 'c' => 'Yellow'));

// Print the difference between the multidimensional arrays
print_r(multidimensional_array_diff($color1, $color2));

?>

Output:

Array                                                       
(                                                           
    [a] => Green                                            
    [b] => Blue                                             
)

Flowchart:

Flowchart: PHP - Compares two multidimensional arrays and returns the difference

PHP Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a PHP script to create a two-dimensional array (4x4), initialized to 10.
Next: Write a PHP script to combine (using one array for keys and another for its values) the specified two arrays.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.