2014-02-08 37 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; 
} 
相關問題