• 技术文章 >后端开发 >php教程

    有两个数组,长度相同,去重后,怎么还能保持一致

    2016-06-13 11:47:45原创404
    有两个数组,长度相同,去重后,如何还能保持一致。
    比如
    $t1=Array ( [0] => 南昌 [1] => 南昌 [2] => 赣州 [3] => 九江 [4] =>赣州 [5] => 九江)
    $t2=Array ( [0] => 2013-09-23 17:48:33 [1] => 2013-09-23 12:48:42 [2] => 2013-09-21 17:48:23 [3] => 2013-09-12 08:40:03 [4] => 2013-09-23 10:28:22 [5] => 2013-09-27 11:28:13 )

    现在$t1和$t2 都是相同长度。而且他们还存在一个对应关系。那就是t1[0]和t2[0]。。t1[1]和t2[1].....t1[i]和t2[i]是相关联的,

    我现在想实现不重复t1里面的value不重复。然后在和t2对应,如果有重复的,就保留t2里面时间最小的那个。
    并且新的数组t22里面的的value是从小到大的顺序。
    得到的结果我想是,
    $t11=Array ( [0] => 九江 [1] => 赣州 [2] => 南昌 )
    $t22=Array ( [0] => 2013-09-12 08:40:03 [1] => 2013-09-21 17:48:23 [2] => 2013-09-23 12:48:42 )

    或者把t1,t2合并成一个二维数组更方便实现也可以,感谢。

    ------解决方案--------------------
    $t1 = Array ( 0 => '南昌', 1 => '南昌', 2 => '赣州', 3 => '九江', 4 => '赣州', 5 => '九江'); 
    $t2 = Array ( 0 => '2013-09-23 17:48:33', 1 => '2013-09-23 12:48:42', 2 => '2013-09-21 17:48:23', 3 => '2013-09-12 08:40:03', 4 => '2013-09-23 10:28:22', 5 => '2013-09-27 11:28:13' );

    foreach(array_map(null, $t1, $t2) as $r) {
    if(! isset($t[$r[0]])) $t[$r[0]] = $r[1];
    else $t[$r[0]] = min($t[$r[0]], $r[1]);
    }
    asort($t);
    $t11 = array_keys($t);
    $t22 = array_values($t);
    print_r($t11);
    print_r($t22);
    Array
    (
    [0] => 九江
    [1] => 赣州
    [2] => 南昌
    )
    Array
    (
    [0] => 2013-09-12 08:40:03
    [1] => 2013-09-21 17:48:23
    [2] => 2013-09-23 12:48:42
    )
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp 2013 gt Array 09
    上一篇:mysql 的一个sql 语句 优化,该怎么处理 下一篇:四十分求ThinkPHP循环嵌套打印出父类与子类的列表
    千万级数据并发解决方案

    相关文章推荐

    • 用PHP实现自己的sha-256哈希算法!• DEDECMS分页标签的有关问题,用求大神• php上传文件有关问题• php字符串转化成数组解决思路• 页面 和数据库都是utf8 如何还有乱码
    1/1

    PHP中文网