这有两个问题,但整个问题可能有一个总体答案。我有一个数组,我需要附加到另一个数组。两个阵列都必须具有特定的数字键。我的问题是:
有人能想出一种有效的方法吗?
修改
对于任何好奇的人,找到了一种更好的方法来为数组添加正确的键。
// add correct keys
$array_segment = array_combine(range($offset, $offset + count($array_segment) - 1), $array_segment);
// merge arrays while maintaining keys
$first_array = $first_array + $array_segment;
答案 0 :(得分:1)
我认为这是一个非常简单的解决方案,但是,如果我很清楚你想要什么,它的工作原理很快。在我看来,你可以使用这种方法:
$array1 = array(1 => 'a', 2 => 'b', 3 => 'c');
$array2 = array(4 => 'd', 5 => 'e', 6 => 'f');
foreach($array2 as $key => $value)
$array1[$key] = $value;
var_dump($array1);
$array1[] = 'g';
$array1[] = 'h';
var_dump($array1);
您可以在此处查看结果:
另一种避免foreach的方法是执行这条指令:
// avoid the loop
//foreach($array2 as $key => $value)
// $array1[$key] = $value;
$array1 += $array2;
您可以在此处查看结果: