2015-10-01 27 views
1

我合并两个数组(从MySQL数据库值)在一起:如果一个值是一个数字,我怎样才能将数组合并到一起?

$animals = array_merge($cat_array, $dog_array); 

$cat_array我得到这样的结果:

array(3) { ["WX81A846YZ8P"]=> string(1) "1" ["WX81A846YZ"]=> string(1) "1" [123]=> string(1) "1" } 

$dog_array我得到这样的结果:

array(1) { ["WX81A846YU"]=> string(1) "1" } 

for $animals我得到这个结果:

array(4) { ["WX81A846YZ8P"]=> string(1) "1" ["WX81A846YZ"]=> string(1) "1" [0]=> string(1) "1" ["WX81A846YU"]=> string(1) "1" } 

正如你所看到的,在该位置上,应该有123有一个0。那么,为什么它不工作,如果我只有数组中的数字,我该如何解决这个问题?

+1

try concatenating'$ animals = $ cat_array + $ dog_array' – jitendrapurohit

回答

2

只需使用+

$animals = $cat_array + $dog_array; 

注意:如果你想从第二个数组的数组元素添加到第一阵列,而不是覆盖从第一数组中的元素,而不是重新索引,使用+阵列union运算符

值的输入阵列中与numeric keys will be renumbered with incrementing keys starting from zero in the result array.

Docs

+1

谢谢!大!这是行得通的。很简单。为什么它不适用于'array_merge'?那么为什么有人需要'array_merge'呢? – Jarla

+1

我已更新我的答案@Jarla –

+1

非常感谢您的解释! – Jarla

相关问题