如何在php中合并每个子数组具有相同数量元素的两个二维数组?

时间:2017-06-13 19:18:10

标签: php arrays

我需要将第二个数组合并到第一个数组中。例如,第一个数组是

$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'))

1 个答案:

答案 0 :(得分: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表示数组通过引用传递并修改。< / p>

但是,在编辑之后,您似乎希望原始数组中的两行在新数组中是两行,因此不要指定索引[0]

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