php二维数组去重的方法是什么
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);
以上是几种常用的二维数组去重方法,根据实际情况选择适合的方法即可。