2017-06-13 138 views
0

我需要將第二個數組合併到第一個數組中。例如,第一陣列是如何合併具有相同數量的元素每個子數組在PHP中的兩個二維數組?

$data_array = array 
(
array('Ford','Escape','25000','new') 
); 

第二陣列是

$new_array = array 
(
array('Toyota','Camry','12000','used') 
); 

用於合併這兩個陣列我試圖

$data_array = array_merge($data_array[0],$new_array[0]); 
print_r($data_array); 

這結合了兩個陣列成一個陣列。我想要的是創建兩行,每行包含其中一個數組。

樣品結果:

array(array('Ford','Escape','25000','new'),array('Toyota','Camry','12000','used')) 
+0

'array_merge'沒有按沒有執行到位的操作。 – fedeisas

回答

3

你必須指定合併結果。注意手冊中的函數簽名和描述array_merge()

用於合併一個或多個陣列的元件一起,使得一個值被附加到以前的一個的端部。 它返回結果數組

$merged_array = array_merge($data_array[0],$new_array[0]); 
print_r($merged_array); 

你可以把它$data_array並覆蓋現有之一:

$data_array = array_merge($data_array[0],$new_array[0]); 
print_r($data_array); 

甚至$data_array[0]

$data_array[0] = array_merge($data_array[0],$new_array[0]); 
print_r($data_array); 

對比這與類似sort()

bool sort (array &$array [, int $sort_flags = SORT_REGULAR ]) 

bool意味着它返回truefalse&前述$array意味着數組通過引用傳遞和修改。

然而,你的編輯之後,似乎要在原有的陣列中的兩行是在一個新的數組兩行,所以纔不指定索引[0]

$data_array = array_merge($data_array,$new_array); 
print_r($data_array); 
+0

這將新數組中的元素添加到舊數組的末尾。它不會將它們變成屬於一個多維數組的兩個數組行,這正是我想要的。 –

+0

然後,您需要舉例說明您希望結果如何。 – AbraCadaver

+0

我現在這樣做了。謝謝。 –

相關問題