它们简化如下,这对于这个问题已经足够了。此问题基于this answer。
[a][b][]
和
[a][c]
其中两个数组都有一个共同的子数组[a]。
我想要这个
[a][c][b][]
我运行以下命令失败
array1[a] + array2[a]
答案 0 :(得分:1)
$ array1 = array_merge($ array1,$ array2);
答案 1 :(得分:1)
foreach($array1 as $a => $c)
{
$end_array[$c] = $array2[$a];
}
或
// For every [a]
foreach($array1 as $a => $c)
{
// Get the [b]
$b = $array2[$a];
// Add it to [a][c]
$end_array[$a][$c] = $b;
// Making it $end_array[$a][$c][$b] = array(....);
}
答案 2 :(得分:1)
好的,我知道你在谈论什么。 (对于其他所有人,请参阅他发布的链接:http://dpaste.com/81464/)
var $output = array();
foreach ($array1 as $index => $a1) {
$output[$index] = $a1;
$output[$index]['title'] = $array2[$index]['title'];
}
答案 3 :(得分:0)
PHP为您提供解决此常见问题的解决方案:
$a = array_merge($b, $c);
使用此解决方案,您将获取$ b中的所有元素并将它们与$ c合并。但是如果你使用关联数组,你应该注意到你要用$ c中的值替换$ b中的值。
例如:
<?php
$a = array(
'ka' => 1,
'kb' => 1,
);
$b = array(
'kb' => 2,
'kc' => 2,
);
print_r(array_merge($a, $b));
?>
此代码的结果如下:
Array
(
[ka] => 1
[kb] => 2
[kc] => 2
)
答案 4 :(得分:0)
for($i = 0; $i < sizeof($array); $i++)
{
$mergedarray[a][b] = $a[a][b];
$mergedarray[a][c] = $b[a][c];
}
据我所知,这就是你想要的,这两个子键都有相同的根键。
答案 5 :(得分:-1)
尝试array_combine()