PHP中使用array_unique()函数去重数组元素。
发布时间:2023-06-30 08:23:58
array_unique()函数是PHP中用来去除数组中重复元素的函数。它会返回一个新的数组,其中只包含原数组中不重复的元素。
使用array_unique()函数非常简单,只需要将需要去重的数组作为参数传递给函数即可。例如:
$array = [1, 2, 3, 2, 4, 3]; $uniqueArray = array_unique($array); print_r($uniqueArray);
上述代码中,原数组$array包含了一些重复的元素。通过调用array_unique()函数,我们得到了一个新的数组$uniqueArray,其中只包含了原数组中不重复的元素。最后使用print_r()函数来打印新数组。
输出结果为:
Array
(
[0] => 1
[1] => 2
[2] => 3
[4] => 4
)
可以看到,新数组$uniqueArray中只包含了原数组$array中不重复的元素。相同的元素仅保留了一个。
array_unique()函数内部的去重机制是利用了PHP底层的Hash表特性,它会根据每个元素的值将其放入Hash表中,如果已存在相同值的元素,则会被忽略。这就实现了去重的目的。
当需要对关联数组进行去重时,需要注意的是,array_unique()函数默认不会保留原数组的键名,而是重新从0开始进行索引。如果希望保留原数组的键名,可以使用array_unique()函数的第二个参数来实现。例如:
$array = ['a' => 1, 'b' => 2, 'c' => 1, 'd' => 2]; $uniqueArray = array_unique($array, SORT_REGULAR); print_r($uniqueArray);
输出结果为:
Array
(
[a] => 1
[b] => 2
)
可以看到,新数组$uniqueArray中保留了原数组$array的键名。第二个参数SORT_REGULAR表示保留原数组的键名和顺序。
总结来说,array_unique()函数是PHP中用来去重数组元素的一个实用函数。使用它可以轻松地从数组中去除重复的元素,并得到一个只包含不重复元素的新数组。如果需要保留原数组的键名,可以使用array_unique()函数的第二个参数来实现。
