How can duplicates be removed from a multidimensional array in PHP?

When dealing with a multidimensional array in PHP, removing duplicates can be a bit more complex than with a one-dimensional array. One approach is to flatten the array, remove duplicates, and then reconstruct the multidimensional structure. This can be achieved by using a combination of array_map, array_unique, and array_values functions in PHP.

// Sample multidimensional array with duplicates
$multiArray = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(1, 2, 3),
    array(7, 8, 9)
);

// Flatten the multidimensional array
$flatArray = call_user_func_array('array_merge', $multiArray);

// Remove duplicates
$uniqueArray = array_unique($flatArray);

// Reconstruct the multidimensional array
$finalArray = array_map(function($subArray) use ($uniqueArray) {
    return array_intersect($subArray, $uniqueArray);
}, $multiArray);

// Remove empty subarrays
$finalArray = array_filter($finalArray);

// Print the final multidimensional array without duplicates
print_r($finalArray);