Chinaunix

标题: php合并两个二维数组,如果有两组相同值,只取一个,如何实现 [打印本页]

作者: piaoyudesi    时间: 2009-12-01 11:24
标题: php合并两个二维数组,如果有两组相同值,只取一个,如何实现
循环出来的数组如下:我现在要合并这两个数组,相同的值我主要取第二个数组的值,请问该如何实现,谢谢!
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] =>
)
..............
作者: renxiao2003    时间: 2009-12-01 11:32
把第二个数据往第一个数组里一条一条追加,判断重复!
作者: 梅子雨    时间: 2009-12-02 13:53
反转就去掉了重复的值了

合并更简单
作者: renxiao2003    时间: 2009-12-02 20:15
3楼的很经典,我只会传统的做法。
作者: baopbird2005    时间: 2009-12-03 08:55
3楼的的确很牛啊。
思维很开阔
作者: bs    时间: 2009-12-03 09:15
$new_array=Array1+Array2;
作者: zlt820107    时间: 2009-12-03 09:55
估计未能满足LZ需求
作者: renxiao2003    时间: 2009-12-03 10:32
数组能加吗?
作者: 24xinhui    时间: 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);
?>
作者: nrzhong    时间: 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
)
作者: ws00377531    时间: 2009-12-16 12:57





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2