在PHP中使用相同的键组合两个数组
问题描述:
我有两个这样的数组。在PHP中使用相同的键组合两个数组
$result_1 = array(
[0] => array ("id" => "a1", "label" => "A1"),
[1] => array ("id" => "a2", "label" => "A2"));
$result_2 = array(
[0] => array ("id" => "b1", "label" => "B1"));
如何结合$ result_1和$ result_2到一个新的阵列$结果所以它会给我这样的结果呢?
$result = array(
[0] => array ("id" => "a1", "label" => "A1"),
[1] => array ("id" => "a2", "label" => "A2"),
[2] => array ("id" => "b1", "label" => "B1"));
如果我使用$result = array_merge($result_1,$result_2)
,它将返回只有1个指标。如果我使用$result = array($result_1,$result_2)
,它将只返回2个索引。我希望它返回所有索引。请帮助我,谢谢。
答
使用array_walk,因为您的result_2变量与array_push结合使用了数组。它的工作,但请记住,它改变第一阵列http://php.net/manual/en/function.array-push.php
$result_1 = array(
0 => array ("id" => "a1", "label" => "A1"),
1 => array ("id" => "a2", "label" => "A2")
);
$result_2 = array(
0 => array ("id" => "b1", "label" => "B1")
);
array_walk($result_2, function($item) use (&$result_1) {
array_push($result_1, $result_2);
});
print_r($result_1);
Array (
[0] => Array ([id] => a1 [label] => A1)
[1] => Array ([id] => a2 [label] => A2)
[2] => Array ([id] => b1 [label] => B1)
)
使用'$结果= $ result_1 + $ result_2' – jitendrapurohit
你尝试array_values()?这将重置您的索引 –
@jitendrapurohit没有工作。它只返回1个索引。 –