结合添加和替换值

时间:2009-11-09 04:52:59

标签: php cakephp

我很想知道php是否有一个允许我将两个数组连接在一起的函数,如果来自array2的值已经存在,则将array1中的值替换为array2的值。见例子

ARRAY1( 'VALUE1', '值2', '值3',); 数组2( 'VALUE4', '值2', 'VALUE1');

array3 = functionEmerge(array1,array2);

ARRAY3( 'VALUE1', '值2', '值3', '值4',);

5 个答案:

答案 0 :(得分:2)

您可以在array_unique()的结果上致电array_merge()以获得所需的结果。

答案 1 :(得分:2)

我相信你正在谈论采用两个阵列的联合。如果是这种情况,PHP附带了union数组运算符,它只是+。所以:

$arr = array('value1', 'value2', 'value3') + array('value1', 'value2', 'value4');

应该得到你:

array('value1', 'value2', 'value3', 'value4')

我可能错了,所以在你使用之前先测试一下。

答案 2 :(得分:0)

您正在寻找的函数名为array_merge

array array_merge ( array $array1 [, array $array2 [, array $... ]] )

将一个或多个数组的元素合并在一起,以便将一个值的值附加到前一个数组的末尾。它返回结果数组。

如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个键。但是,如果数组包含数字键,则后面的值不会覆盖原始值,但会附加。

如果只给出一个数组并且数组被数字化索引,那么键将以连续的方式重新编制索引。

答案 3 :(得分:0)

我没有为此找到一个操作符,但这可以工作:

$array3 = array_keys(array_flip($array1) + array_flip($array2)) 

答案 4 :(得分:0)

Set::merge( $a, $b )