2014-02-08 31 views
0

我是否忽略了PHP中的一个函数,它将合并数组而不保留密钥?我已经尝试了这两种方法:$arrayA + $arrayBarray_merge($arrayA, $arrayB),但都没有按预期工作。如何在没有保存键的情况下在PHP中合并数组?

我的期望是,当我加array(11, 12, 13)array(1, 2, 3)在一起,我会最终与array(11, 12, 13, 1, 2, 3)

我创建了一个我自己的函数,它可以正确处理它,尽管我试图弄清楚它是否是最好的做事方式,或者如果有一个更容易,甚至是没有看到的构建方式:

function array_join($arrayA, $arrayB) { 
    foreach($arrayB as $B) $arrayA[] = $B; 
    return $arrayA; 
} 

编辑: array_merge(),正在按原计划,但是我有函数在一个循环中运行,我用的是函数内部的不正确的变量名,从而是它只是返回的部分列表我所经历的。例如我使用的循环结束于array(13, 1, 2, 3)

+0

的输出是什么你得到? –

回答

2

你真的测试过你的代码吗?因为array_merge应该足够:

array_merge文档:

用于合并一个或多个阵列的元件一起,使得一个的值被附加到的前一个结束。 (重点是我

<?php 

$a1 = array(11, 12, 13); 
$a2 = array(1, 2, 3); 

$x = array_merge($a1, $a2); 
print_r($x); 

它打印此我控制台上:

Array 
(
    [0] => 11 
    [1] => 12 
    [2] => 13 
    [3] => 1 
    [4] => 2 
    [5] => 3 
) 
+1

我是个白痴。我有一个循环运行的函数,并且在'array_merge'函数中使用了错误的变量,所以我只得到了部分列表。由于其强有力的解释,我会将您的答案标记为已接受。 – RedYetiCo

0
$arr1 = array(11, 12, 13); 
$arr2 = array(1, 2, 3); 
print_r(array_merge($arr1,$arr2)); 
0

试试这个:

function array_join($arrayA, $arrayB) { 
    foreach($arrayB as $B) $arrayA[count($arrayA)] = $B; 
    return $arrayA; 
} 
相关问题