zoukankan      html  css  js  c++  java
  • 二维数组去重

    <?php
    /**
     * PHP删除二维数组中的重复元素
     */
    // 对二维数组进行去重复
    function more_array_unique($arr)
    {
        //先把二维数组中的内层数组的键值记录在在一维数组中
        foreach ($arr[0] as $k => $v) {
            $arr_inner_key[] = $k;
        }
        foreach ($arr as $k => $v) {
            //降维 用implode()也行
            $v = join(",", $v);
            //保留原来的键值 $temp[]即为不保留原来键值
            $temp[$k] = $v;
        }
        //去重:去掉重复的元素
        $temp = array_unique($temp);
        foreach ($temp as $k => $v) {
            //拆分后的重组 如:Array( [0] => 张三 [1] => 18 )
            $a = explode(",", $v);
            //将原来的键与值重新合并
            $arr_after[$k] = array_combine($arr_inner_key, $a);
        }
        return $arr_after;
    }
    
    $arr = [
        ['name' => '张三', 'age' => 18],
        ['name' => 'Tom', 'age' => 19],
        ['name' => 'Tom', 'age' => 19],
        ['name' => '张三', 'age' => 50],
        ['name' => '王小二', 'age' => 30],
    ];
    echo "<pre>";
    print_r(more_array_unique($arr));


    注:

    join函数是该函数的别名:implode()。

    array_combine函数:表示创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

    array_unique 函数:移除数组中重复的值。

  • 相关阅读:
    显示游标的属性
    显示游标的处理
    5:查询两表中的所有字段,满足性别为‘男’的记录(使用语句块)
    JS 进阶1
    JS 小练习
    驼峰法
    JS 入门四
    JS 入门三
    javascript中window.open()与window.location.href的区别(转)
    JavaScript 之日起对象(转)
  • 原文地址:https://www.cnblogs.com/sgm4231/p/9771563.html
Copyright © 2011-2022 走看看