2016-11-28 134 views
2

我有兩個數組之一是two dimensional,第二個是one dimensional並希望合併到一個二維數組中。如何合併一維數組和二維數組在php

例如:

# array1 
Array 
(
    [0] => Array 
     (
      [id] => 598   
     ) 

    [1] => Array 
     (
      [id] => 599   
     ) 
) 
# array2 
Array 
(  
    [id] => 66  
) 

#resultant array 
Array 
(
    [0] => Array 
     (
      [id] => 598 
     ) 
    [1] => Array 
     (
      [id] => 599 
     ) 
    [2] => Array 
     (
      [id] => 66   
     ) 
) 

在上面的例子中array1array2兩個輸入陣列,並希望作爲導致resultant array

我試過array_merge php函數,但它不工作。

如何做到這一點?

回答

1

如果你只是想添加一個元素,將工作:

$array1[] = $array2; 

如果你想創建一個新的數組它應該工作:

<?php 
$array1 = [ 
    0 => ['id' => 598], 
    1 => ['id' => 599], 
];  
$result_array = $array1;  
$array2 = [ 
    'id' => 66, 
]; 

$result_array[] = $array2;  
print_r($result_array);  
?> 

在這種情況下,只需添加新元素在$array1$array2

如果您有$array2更多的項目,你可以像如下:

$result_array = $array1; 
foreach ($array2 as $key => $value) { 
    $result_array[] = [$key => $value]; 
} 
print_r($result_array); 
+0

它不工作。 '陣列 ( [0] =>數組 ( [0] =>數組 ( [ID] => 598 ) [1] =>數組 ( [ID] => 599 ) ) [1] =>數組 ( [ID] => 66 ) )' –

+0

它確實對我來說。檢查更多的信息:http://sandbox.onlinephpfunctions.com/code/e63fe6f45753cacd6c1040a731c7290e70162439 –

+0

不,我想創建一個新的'二維'數組。 –

0

你可以從array_value值然後分配id關鍵是你的值,然後merge您的陣列。

$array1 = array(
    array('id' => "2"), 
    array('id' => "3"), 
); 

$array2 = array(
    'id' => "1" 
); 

$array2['id'] = array_values($array2); 

$data = array_merge($array2,$array1); 
+0

我不能這樣做,因爲我從數據庫動態獲取array1,array2和更多。 –

+0

@VinayaMaheshwari嘗試我更新的答案 – Tiger