当前位置:首页 > PHP教程 >

php多维数组怎么去除重复值

发布时间:2024-06-06 12:03:15 作者:佚名 阅读:(13)

在开发项目的时候,会经常发现我们获取到的数组中有很多重复数据,这个时候需要去重多为数组中的重复值,接下来云梦编程为大家详细的介绍一下php多维数组去除重复值的方法,有需要的小伙你可以参考一下:

php多维数组怎么去除重复值

一、解决思路:

(1)、使用“array_map('serialize', $arr)”将多维数组转换为以字符串形式的一维数组;

(2)、使用array_unique()去除一维数组中的重复值;

(3)、将去重后的一维数组重新转为多维数组;

(4)、使用array_values()进行键值重组。

二、PHP方法:

/*
 * 多维数组去重
 */
function ArrayUnique($arr) {
    //利用serialize()方法将数组转换为以字符串形式的一维数组
    $t = array_map('serialize', $arr);
    //去掉重复值
    $t = array_unique($t);
    //然后将刚组建的一维数组转回为php值
    $new_arr = array_map('unserialize', $t);
    //键值重组
    $new_arr = array_values($new_arr);
    return $new_arr;
}

三、实例测试:

$arr = array(
            array('web_name' => '云梦', 'en_name' => 'yun','pinyin' => 'dreams'),
            array('web_name' => '云梦1', 'en_name' => 'yun','pinyin' => 'dreams'),
            array('web_name' => '云梦', 'en_name' => 'yun','pinyin' => 'dreams'),
            array('web_name' => '云梦2', 'en_name' => 'yun','pinyin' => 'dreams'),
            array('web_name' => '编程3', 'en_name' => 'yun','pinyin' => 'dreams'),
        );
        $new_arr = ArrayUnique($arr);
        print_r($new_arr);

四、测试结果

Array
(
    [0] => Array
        (
            [web_name] => 云梦
            [en_name] => yun
            [pinyin] => dreams
        )

    [1] => Array
        (
            [web_name] => 云梦1
            [en_name] => yun
            [pinyin] => dreams
        )

    [2] => Array
        (
            [web_name] => 云梦2
            [en_name] => yun
            [pinyin] => dreams
        )

    [3] => Array
        (
            [web_name] => 编程3
            [en_name] => yun
            [pinyin] => dreams
        )
)


以上就是云梦编程为大家介绍的关于php多维数组去除重复值方法的全部内容了,了解更多相关文章请关注云梦编程网!

© 2023 - 云梦编程网 版权所有 鲁ICP备2021017318号-4