php多维数组怎么去除重复的子数组

文章介绍了在PHP中如何去除多维数组的重复值,主要步骤包括使用array_map将多维数组转换为一维,通过array_unique去除重复,然后用array_map和array_values将处理后的数组还原为多维格式。提供的示例代码展示了整个过程并给出了测试结果。

我们在处理PHP数组的时候,经常发现数组中有很多重复数据,这个时候需要去重多为数组中的重复值,接下来为大家详细的介绍一下php多维数组去除重复值的方法,有需要的小伙伴可以参考一下:

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

1、解决思路:
(1)、使用“array_map(‘serialize’, $arr)”将多维数组转换为以字符串形式的一维数组;

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

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

2、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;
}

3、实例测试:

$arr = array(
          array('web_name' => '吾爱', 'en_name' => 'itbc','pinyin' => 'wuai'),
           array('web_name' => '吾爱1', 'en_name' => 'itbc','pinyin' => 'wuai'),
           array('web_name' => '吾爱', 'en_name' => 'itbc','pinyin' => 'wuai'),
           array('web_name' => '吾爱2', 'en_name' => 'itbc','pinyin' => 'wuai'),
           array('web_name' => '吾爱3', 'en_name' => 'itbc','pinyin' => 'wuai'),
       );
        $new_arr = ArrayUnique($arr);
        print_r($new_arr);

4、测试结果

Array
(
    [0] => Array
        (
            [web_name] => 吾爱
            [en_name] => itbc
            [pinyin] => wuai
        )

    [1] => Array
        (
            [web_name] => 吾爱1
            [en_name] => itbc
            [pinyin] => wuai
        )

    [2] => Array
        (
            [web_name] => 吾爱2
            [en_name] => itbc
            [pinyin] => wuai
        )

    [3] => Array
        (
            [web_name] => 吾爱3
            [en_name] => itbc
            [pinyin] => wuai
        )
)

非常完美!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值