Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 组合添加和替换值_Php_Cakephp - Fatal编程技术网

Php 组合添加和替换值

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',) 您可以调用的结果来获得所需的结果。您可以调用的结果来获得所需的结果。您正在寻找

我很想知道php是否有一个函数,允许我将两个数组连接在一起,如果array2中的值已经存在,那么可以用array2的值替换array1中的值。参见示例

数组1('value1','value2','value3',); 数组2('value4'、'value2'、'value1')

array3=函数出现(array1,array2)


数组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,我测试过它,如果键是数字,它似乎会合并值。