2016-11-28 133 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