两种php去除二维数组的重复项方法

以下是 “两种php去除二维数组的重复项方法” 的完整攻略:

以下是 “两种php去除二维数组的重复项方法” 的完整攻略:

方法一:使用array_unique函数

array_unique() 函数可以去除数组中的重复项,包括二维数组。使用此方法需要注意的是,array_unique() 函数只能对一维数组去重,因此我们还需要配合使用 array_map() 函数实现多维数组去重。

示例代码如下:

$arr = array(
    array('id' => 1, 'name' => 'John'),
    array('id' => 2, 'name' => 'Jane'),
    array('id' => 1, 'name' => 'John')
);

// 使用array_map调用array_unique函数进行去重
$result = array_map('unserialize', array_unique(array_map('serialize', $arr)));

print_r($result);

该示例代码的输出结果为:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => John
        )

    [1] => Array
        (
            [id] => 2
            [name] => Jane
        )

)

方法二:使用foreach循环遍历

使用 foreach 循环遍历该二维数组,再结合 in_array 函数判断子数组中的元素是否在新的数组中已经存在,如果不存在则将该子数组加入新的数组中。

示例代码如下:

$arr = array(
    array('id' => 1, 'name' => 'John'),
    array('id' => 2, 'name' => 'Jane'),
    array('id' => 1, 'name' => 'John')
);

$new_arr = array();

foreach($arr as $val){
    if(!in_array($val, $new_arr)){
        $new_arr[] = $val;
    }
}

print_r($new_arr);

该示例代码的输出结果为:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => John
        )

    [1] => Array
        (
            [id] => 2
            [name] => Jane
        )

)

以上就是 “两种php去除二维数组的重复项方法”的完整攻略。其中方法一使用了一些内置函数实现,而方法二则是通过手动循环直接去除重复项。可以根据实际需求选择不同的方法。

本文标题为:两种php去除二维数组的重复项方法

基础教程推荐