【问题标题】:Merge array inside array合并数组内的数组
【发布时间】:2017-02-13 21:35:42
【问题描述】:
我有 2 个要合并的数组。第一个数组是多维的,第二个数组是单数组:
$a = array(
array('id'=>'1', 'name'=>'Mike'),
array('id'=>'2', 'name'=>'Lina'),
);
$b = array('id'=>'3', 'name'=>'Niken');
如何将两个数组合并为相同的数组深度?
【问题讨论】:
标签:
php
arrays
multidimensional-array
array-merge
【解决方案1】:
如果你想要的是这样的:
array(
array('id'=>'1', 'name'=>'Mike'),
array('id'=>'2', 'name'=>'Lina'),
array('id'=>'3', 'name'=>'Niken')
)
您可以将第二个作为新元素添加到第一个:
$one[] = $two;
【解决方案2】:
只需将第二个数组附加一个空维度运算符即可。
$one = array(
array('id'=>'1', 'name'=>'Mike'),
array('id'=>'2', 'name'=>'Lina')
);
$two = array('id'=>'3', 'name'=>'Niken');
$one[] = $two;
但如果您想合并独特的项目,您需要执行以下操作:
if(false === array_search($two, $one)){
$one[] = $two;
}
【解决方案3】:
您可以使用当前数组的数组推送轻松做到这一点,我修改了您的代码以便它可以工作
<?php
$myArray = array(
array('id' => '1', 'name' => 'Mike'),
array('id' => '2', 'name '=> 'Lina')
);
array_push($myArray, array('id'=>'3', 'name'=>'Niken'));
// Now $myArray has all three of the arrays
var_dump($myArray);
?>
如果这有帮助,请告诉我
【解决方案4】:
要向数组中插入任何内容,您可以使用 push over index ($array[] = $anything;) 或 array_push() 函数。您的案例可以同时使用这两种方法。