Php 组合添加和替换值
我很想知道php是否有一个函数,允许我将两个数组连接在一起,如果array2中的值已经存在,那么可以用array2的值替换array1中的值。参见示例 数组1('value1','value2','value3',); 数组2('value4'、'value2'、'value1') array3=函数出现(array1,array2)Php 组合添加和替换值,php,cakephp,Php,Cakephp,我很想知道php是否有一个函数,允许我将两个数组连接在一起,如果array2中的值已经存在,那么可以用array2的值替换array1中的值。参见示例 数组1('value1','value2','value3',); 数组2('value4'、'value2'、'value1') array3=函数出现(array1,array2) 数组3('value1','value2','value3','value4',) 您可以调用的结果来获得所需的结果。您可以调用的结果来获得所需的结果。您正在寻找
数组3('value1','value2','value3','value4',) 您可以调用的结果来获得所需的结果。您可以调用的结果来获得所需的结果。您正在寻找的函数称为array\u merge
array array_merge ( array $array1 [, array $array2 [, array $... ]] )
将一个或多个数组的元素合并在一起,以便将其中一个数组的值追加到前一个数组的末尾。它返回结果数组
如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个值。但是,如果数组包含数字键,则后面的值将不会覆盖原始值,而是追加
如果只给出一个数组,并且该数组被数字索引,则键将以连续方式重新索引。您要查找的函数称为array\u merge
array array_merge ( array $array1 [, array $array2 [, array $... ]] )
将一个或多个数组的元素合并在一起,以便将其中一个数组的值追加到前一个数组的末尾。它返回结果数组
如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个值。但是,如果数组包含数字键,则后面的值将不会覆盖原始值,而是追加
如果只给出一个数组,并且该数组被数字索引,则键将以连续方式重新索引。我相信您所说的是两个数组的并集。如果是这样的话,PHP附带了union数组操作符,它就是+。因此:
$arr = array('value1', 'value2', 'value3') + array('value1', 'value2', 'value4');
你应该得到:
array('value1', 'value2', 'value3', 'value4')
我可能错了,所以在使用它之前先测试一下。我相信你说的是两个数组的并集。如果是这样的话,PHP附带了union数组操作符,它就是+。因此:
$arr = array('value1', 'value2', 'value3') + array('value1', 'value2', 'value4');
你应该得到:
array('value1', 'value2', 'value3', 'value4')
我可能是错的,所以在使用之前先测试一下。我没有找到一个操作符,但这会起作用:
$array3 = array_keys(array_flip($array1) + array_flip($array2))
我没有找到一个操作员,但这将起作用:
$array3 = array_keys(array_flip($array1) + array_flip($array2))
老实说,我建议使用jboxer的解决方案来解决这个问题-我实际上没有意识到数组的
+
功能是并集。是的,非数字键会使事情变得复杂,但如果使用普通数组,如numerical25的示例,我认为并集运算符(+)更好;更具可读性,如果没有其他东西的话。老实说,我建议使用jboxer的解决方案——我实际上没有意识到数组的+
作为并集。是的,非数字键会使事情变得复杂,但如果你使用普通数组,如numerical25的示例,我认为并集运算符(+)更好;如果没有其他东西的话,可读性会更好。这是错误的数组上的运算符只合并键,不合并值。嗯,yuku,我测试了它,如果键是数字,它似乎会合并值。这是错误的数组上的运算符只合并键,不合并值。嗯,yuku,我测试过它,如果键是数字,它似乎会合并值。