免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 18828 | 回复: 10
打印 上一主题 下一主题

php合并两个二维数组,如果有两组相同值,只取一个,如何实现 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-01 11:24 |只看该作者 |倒序浏览
循环出来的数组如下:我现在要合并这两个数组,相同的值我主要取第二个数组的值,请问该如何实现,谢谢!
Array
(
    [0] => 11/19/2009
    [1] => 16:42:48
    [2] => CTT
    [3] => Andrew Crossley
    [4] => Shopping Cart Payment Received
    [5] => Completed
    [6] => GBP
    [7] => 57.98
    [8] => -2.06
    [9] => 55.92
    [10] => a.crossley@accord-is.co.uk
    [11] => order@laptops-battery.co.uk
    [12] => 2RH921927T583313X
    [13] => Non-U.S. - Unregistered
    [14] => Andrew Crossley, 74 Gravel Hill, Croydon, Surrey, CR05BE, United Kingdom
    [15] => Confirmed
    [16] => Shopping Cart
    [17] =>
    [18] => 8
    [19] =>
    [20] => 0
    [21] =>
    [22] =>
    [23] =>
    [24] =>
    [25] =>
    [26] =>
    [27] =>
    [28] =>
    [29] =>
    [30] =>
    [31] =>
    [32] => 1
    [33] => 0428-7135-1009-2010
    [34] => 4,939.23
    [35] => 74 Gravel Hill
    [36] =>
    [37] => Croydon
    [38] => Surrey
    [39] => CR05BE
    [40] => United Kingdom
    [41] =>
    [42] => Credit
    [43] =>
)
Array
(
    [0] => 11/19/2009
    [1] => 16:42:48
    [2] => CTT
    [3] => Andrew Crossley
    [4] => Shopping Cart Item
    [5] => Completed
    [6] => GBP
    [7] => 49.98
    [8] =>
    [9] =>
    [10] => a.crossley@accord-is.co.uk
    [11] => order@laptops-battery.co.uk
    [12] => 2RH921927T583313X
    [13] => Non-U.S. - Unregistered
    [14] => Andrew Crossley, 74 Gravel Hill, Croydon, Surrey, CR05BE, United Kingdom
    [15] => Confirmed
    [16] => 11.1V 6600mAh Dell latitude D820 battery
    [17] => 104036
    [18] => 8
    [19] =>
    [20] => 0
    [21] =>
    [22] =>
    [23] =>
    [24] =>
    [25] =>
    [26] =>
    [27] =>
    [28] =>
    [29] =>
    [30] =>
    [31] =>
    [32] => 1
    [33] => 0428-7135-1009-2010
    [34] => 4,939.23
    [35] => 74 Gravel Hill
    [36] =>
    [37] => Croydon
    [38] => Surrey
    [39] => CR05BE
    [40] => United Kingdom
    [41] => Memo
    [42] =>
    [43] =>
)
..............

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2009-12-01 11:32 |只看该作者
把第二个数据往第一个数组里一条一条追加,判断重复!

论坛徽章:
0
3 [报告]
发表于 2009-12-02 13:53 |只看该作者
反转就去掉了重复的值了

合并更简单

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
4 [报告]
发表于 2009-12-02 20:15 |只看该作者
3楼的很经典,我只会传统的做法。

论坛徽章:
80
20周年集字徽章-庆
日期:2020-10-28 14:09:1215-16赛季CBA联赛之北京
日期:2020-10-28 13:32:5315-16赛季CBA联赛之北控
日期:2020-10-28 13:32:4815-16赛季CBA联赛之天津
日期:2020-10-28 13:13:35黑曼巴
日期:2020-10-28 12:29:1520周年集字徽章-周	
日期:2020-10-31 15:10:0720周年集字徽章-20	
日期:2020-10-31 15:10:07ChinaUnix元老
日期:2015-09-29 11:56:3020周年集字徽章-年
日期:2020-10-28 14:14:56
5 [报告]
发表于 2009-12-03 08:55 |只看该作者
3楼的的确很牛啊。
思维很开阔

论坛徽章:
0
6 [报告]
发表于 2009-12-03 09:15 |只看该作者
$new_array=Array1+Array2;

论坛徽章:
0
7 [报告]
发表于 2009-12-03 09:55 |只看该作者
估计未能满足LZ需求

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
8 [报告]
发表于 2009-12-03 10:32 |只看该作者
数组能加吗?

论坛徽章:
0
9 [报告]
发表于 2009-12-04 00:10 |只看该作者
有现成的函数

array_merge -- 合并一个或多个数组

说明
array array_merge ( array array1 [, array array2 [, array ...]] )


array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。


<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

论坛徽章:
0
10 [报告]
发表于 2009-12-16 09:19 |只看该作者
array_merge
(PHP 4, PHP 5)

array_merge -- 合并一个或多个数组
说明
array array_merge ( array array1 [, array array2 [, array ...]] )


array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

例子 1. array_merge() 例子

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>  

上例将输出:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP