阅读量:0
array_unique
函数只能用于处理一维数组,不适用于多维数组。要处理多维数组,您可以使用以下方法:
方法1:使用 array_map
和 serialize
function array_unique_multidimensional($array) { $serialized = array_map('serialize', $array); $unique = array_unique($serialized); return array_intersect_key($array, $unique); } $multidimensionalArray = [ ['id' => 1, 'name' => 'A'], ['id' => 2, 'name' => 'B'], ['id' => 1, 'name' => 'A'], ['id' => 3, 'name' => 'C'] ]; $uniqueArray = array_unique_multidimensional($multidimensionalArray); print_r($uniqueArray);
方法2:使用 foreach
循环
function array_unique_multidimensional($array) { $result = []; foreach ($array as $item) { if (!in_array($item, $result)) { $result[] = $item; } } return $result; } $multidimensionalArray = [ ['id' => 1, 'name' => 'A'], ['id' => 2, 'name' => 'B'], ['id' => 1, 'name' => 'A'], ['id' => 3, 'name' => 'C'] ]; $uniqueArray = array_unique_multidimensional($multidimensionalArray); print_r($uniqueArray);
这两种方法都可以有效地处理多维数组并去除重复项。根据您的需求和喜好选择合适的方法。