PHP

php二维数组去重的方法是什么

小亿
131
2023-11-14 13:26:59
栏目: 编程语言

PHP中二维数组去重的方法有以下几种:

  1. 使用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);
  1. 使用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);
  1. 使用循环遍历和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);

以上是几种常用的二维数组去重方法,根据实际情况选择适合的方法即可。

0
看了该问题的人还看了