温馨提示×

php unique函数是否支持多维度数据去重

PHP
小樊
83
2024-08-14 19:49:35
栏目: 编程语言

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()函数去除重复的元素,最后再将去重后的元素组装成一个新的数组。

0