PHP的array_unique()
函数只能用于一维数组,无法直接用于多维数组。如果需要在多维数组中去除重复的元素,可以先将多维数组展开为一维数组,然后再使用array_unique()
函数进行去重。
以下是一个示例代码,用于在多维数组中去除重复的元素:
function array_unique_recursive($array) {
$flatten = [];
array_walk_recursive($array, function($value) use (&$flatten) {
$flatten[] = $value;
});
$unique = array_unique($flatten);
$result = [];
foreach ($unique as $value) {
$result[] = $value;
}
return $result;
}
$multiDimensionalArray = [
[1, 2, 3],
[4, 5, 6],
[1, 2, 3],
];
$uniqueArray = array_unique_recursive($multiDimensionalArray);
print_r($uniqueArray);
在这个示例中,array_unique_recursive()
函数接收一个多维数组作为参数,首先将多维数组展开为一维数组,然后使用array_unique()
函数去除重复的元素,最后再将去重后的元素组装成一个新的数组。