我很想知道php是否有一个允许我将两个数组连接在一起的函数,如果来自array2的值已经存在,则将array1中的值替换为array2的值。见例子
ARRAY1( 'VALUE1', '值2', '值3',); 数组2( 'VALUE4', '值2', 'VALUE1');
array3 = functionEmerge(array1,array2);
ARRAY3( 'VALUE1', '值2', '值3', '值4',);
答案 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 )