我一直试图整天想出这个,但似乎无法解释,或者想要实现我想要实现的目标。假设我有2个阵列:
Array
(
[1] => Array
(
[2] => Dashboard
)
)
和
Array
(
[1] => Array
(
[3] => Toasts
)
)
我想要做的是合并2个数组,如下所示:
Array
(
[1] => Array
(
[2] => Dashboard,
[3] => Toasts
)
)
但是,如果我有这样的事情:
Array
(
[1] => Array
(
[2] => Dashboard
)
)
Array
(
[1] => Array
(
[2] => Toasts
)
)
我不想放弃重写元素的值,但是像这样增加它
Array
(
[1] => Array
(
[2] => Dashboard,
[3] => Toasts
)
)
我已经尝试了从数组合并,递归合并甚至是eval的所有内容,但我只是能够理解它。有没有人遇到过这个?我还没找到的功能?
答案 0 :(得分:0)
您应该使用$array['indexname'] = 'value';
。合并时array_merge()
或array_push()
不保持具有相同/关联键的值,因为无法确定下一个键。
答案 1 :(得分:0)
也许不是一个真正的答案,只是一种逃避覆盖的方法;
$a1 = array(array(2 => 'Dashboard'));
$a2 = array(array(3 => 'Toasts'));
$a3 = array(array(3 => 'Foo'));
$array = array();
foreach (array_merge($a1, $a2, $a3) as $a) {
foreach ($a as $i => $value) {
if (!isset($array[$i])) {
$array[$i] = $value;
} else {
$array[] = $value;
}
}
}
print_r($array);
Array ( [2] => Dashboard [3] => Toasts [4] => Foo )