-1

我在 php 中有两个数组,我想组合这两个数组的值

这是我的第一个数组

array (size=2)
  0 => 
    array (size=3)
      'Restaurant' => string 'Taj' (length=3)
      'TableNo' => string '1' (length=1)
      'Status' => string 'Occupied' (length=8)
  1 => 
    array (size=3)
      'Restaurant' => string 'Taj' (length=3)
      'TableNo' => string '2' (length=1)
      'Status' => string 'Vacant' (length=6)

这是我的第二个数组

array (size=2)
  0 => 
    array (size=1)
      'MenuGrp' => string 'Deserts' (length=7)
  1 => 
    array (size=1)
      'MenuGrp' => string 'Snacks' (length=6)

我想将这些数组组合成最终数组

array (size=2)
  0 => 
    array (size=3)
      'Restaurant' => string 'Taj' (length=3)
      'TableNo' => string '1' (length=1)
      'Status' => string 'Occupied' (length=8)
      'MenuGrp' => string 'Snacks' (length=6)
  1 => 
    array (size=3)
      'Restaurant' => string 'Taj' (length=3)
      'TableNo' => string '2' (length=1)
      'Status' => string 'Vacant' (length=6)
      'MenuGrp' => string 'Deserts' (length=7)

如何获得这个数组请帮助我。

4

4 回答 4

0
$resultsarray = array_merge($array1,$array2);
于 2013-10-30T08:27:52.270 回答
0

您可以尝试 array_merge 或 array_combine 函数。

<?php
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?> 


<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>
于 2013-10-30T08:28:38.980 回答
0

array_merge_recursive()在这种情况下将不起作用,因为您的键是整数。只有当它们是字符串时它才会起作用。实现它的最简单方法是遍历一个数组,检查键是否存在于第二个数组中,如果存在,则将两者结合起来:

$output = array();
foreach ($array1 as $key => $arr) {
  if (!empty($array2[$key])) {
    $output[$key] = array_merge($arr, $array2[$key]);
  }
}

哪个会输出(var_dump($output)):

array
  0 => 
    array
      'Restaurant' => string 'Taj' (length=3)
      'TableNo' => int 1
      'Status' => string 'Occupied' (length=8)
      'MenuGrp' => string 'Deserts' (length=7)
  1 => 
    array
      'Restaurant' => string 'Taj' (length=3)
      'TableNo' => int 2
      'Status' => string 'Vacant' (length=6)
      'MenuGrp' => string 'Snacks' (length=6)
于 2013-10-30T09:48:16.943 回答
-1
$array_combined = array_merge_recursive($array_one, $array_two);

请参阅此处数组合并递归

于 2013-10-30T08:27:59.863 回答