有两个数组,长度相同,去重后,如何还能保持一致。

php中文网
发布: 2016-06-23 14:25:16
原创
1085人浏览过

比如
$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
)

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号