阅读量:0
PHP中二维数组去重的方法有以下几种:
- 使用array_unique()函数:该函数可以用于去除数组中的重复值,包括二维数组。但是该方法只能去除第一维数组中的重复值,对于第二维数组无效。
$array = array( array("apple", "banana"), array("apple", "banana"), array("orange", "banana") ); $result = array_map("unserialize", array_unique(array_map("serialize", $array))); print_r($result);
- 使用array_map()函数和array_walk_recursive()函数结合:利用array_map()函数将数组转换成字符串,再使用array_walk_recursive()函数处理第二维数组,最后使用array_unique()函数去除重复值。
$array = array( array("apple", "banana"), array("apple", "banana"), array("orange", "banana") ); $result = array_map("unserialize", array_unique(array_map("serialize", $array))); array_walk_recursive($result, function (&$value) { $value = unserialize($value); }); print_r($result);
- 使用循环遍历和in_array()函数:通过循环遍历二维数组,使用in_array()函数判断当前元素是否已存在于结果数组中,如果不存在则添加进结果数组。
$array = array( array("apple", "banana"), array("apple", "banana"), array("orange", "banana") ); $result = array(); foreach ($array as $item) { if (!in_array($item, $result)) { $result[] = $item; } } print_r($result);
以上是几种常用的二维数组去重方法,根据实际情况选择适合的方法即可。