哈哈哈嘿嘿嘻嘻 2014-12-06 13:01 采纳率: 0%
浏览 2767

怎样删除二维数组中相同的一位数组 并保持相同键名 求大神写个函数

Array
(
[0] => Array
(
[year] => 2013-2014
[term] => 1
[course_code] => 00008069
[course_name] => 咖啡世界
[course_nature] => 任意选修
[course_attribution] => 人文素养类
[credit] => 2.0
[point] => 4.1
[grade] => 91
[minor_tag] => 0
[makeup_grade] =>

[rebuild_grade] =>

[begin_college] => 旅游文化产业学院
[remark] =>

[rebuild_tag] => 0
[0] => 77
[1] => 2
)

                    [1] => Array
                            (
                                    [year] => 2013-2014
                                    [term] => 1
                                    [course_code] => 00008069
                                    [course_name] => 咖啡世界
                                    [course_nature] => 任意选修
                                    [course_attribution] => 人文素养类
                                    [credit] => 2.0
                                    [point] => 4.1
                                    [grade] => 91
                                    [minor_tag] => 0
                                    [makeup_grade] =>  
                                    [rebuild_grade] =>  
                                    [begin_college] => 旅游文化产业学院
                                    [remark] =>  
                                    [rebuild_tag] => 0
                                    [0] => 77
                                    [1] => 2
                            )

                    [2] => Array
                            (
                                    [year] => 2013-2014
                                    [term] => 1
                                    [course_code] => 00008069
                                    [course_name] => 咖啡世界
                                    [course_nature] => 任意选修
                                    [course_attribution] => 人文素养类
                                    [credit] => 2.0
                                    [point] => 4.1
                                    [grade] => 91
                                    [minor_tag] => 0
                                    [makeup_grade] =>  
                                    [rebuild_grade] =>  
                                    [begin_college] => 旅游文化产业学院
                                    [remark] =>  
                                    [rebuild_tag] => 0
                                    [0] => 77
                                    [1] => 2
                            )

)

如上面 怎样让它变成
Array
(
[0] => Array
(
[year] => 2013-2014
[term] => 1
[course_code] => 00008069
[course_name] => 咖啡世界
[course_nature] => 任意选修
[course_attribution] => 人文素养类
[credit] => 2.0
[point] => 4.1
[grade] => 91
[minor_tag] => 0
[makeup_grade] =>

[rebuild_grade] =>

[begin_college] => 旅游文化产业学院
[remark] =>

[rebuild_tag] => 0
[0] => 77
[1] => 2
)
}

  • 写回答

2条回答 默认 最新

  • piaoxue0145 2014-12-08 03:34
    关注

    引用自http://www.nowamagic.net/librarys/veda/detail/1371
    01
    //二维数组去掉重复值
    02
    function array_unique_fb($array2D)
    03
    {
    04
    foreach ($array2D as $v)
    05
    {
    06
    $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
    07
    $temp[] = $v;
    08
    }
    09

    10
    $temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组
    11
    foreach ($temp as $k => $v)
    12
    {
    13
    $temp[$k] = explode(",",$v); //再将拆开的数组重新组装
    14
    }
    15
    return $temp;
    16
    }
    如果你想保留数组的键值,可以用下面的函数:

    01
    //二维数组去掉重复值 并保留键值
    02
    function array_unique_fb($array2D)
    03
    {
    04
    foreach ($array2D as $k=>$v)
    05
    {
    06
    $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
    07
    $temp[$k] = $v;
    08
    }
    09
    $temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组
    10
    foreach ($temp as $k => $v)
    11
    {
    12
    $array=explode(",",$v); //再将拆开的数组重新组装
    13
    $temp2[$k]["id"] =$array[0];

    14
    $temp2[$k]["litpic"] =$array[1];
    15
    $temp2[$k]["title"] =$array[2];
    16
    $temp2[$k]["address"] =$array[3];
    17
    $temp2[$k]["starttime"] =$array[4];
    18
    $temp2[$k]["endtime"] =$array[5];
    19
    $temp2[$k]["classid"] =$array[6];
    20
    $temp2[$k]["ename"] =$array[7];
    21
    }
    22
    return $temp2;
    23
    }
    大概就这样啦。

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的