我们在平时经常会遇到在指定位置插入数组的情况,接下来我分享一种方式
现有数组$originArray,我要把$insertArray的数据插入到$originArray的指定位置,$insertArray的key即是要插入的位置,value是要插入的值
$originArray = [1, 3, 5];
$insertArray = [2 => 2 , 4 => 4];
$list = []; // 初始化list
$list = $insertArray; // 要插入的数据占位
foreach ($originArray as $key => $val) { // 遍历原数组,如果数组的key被占用的话,向后寻找没有被占用的key
$i = 0;
if(isset($list[$key])) {
while (true) {
$i++;
if(!isset($list[$i])) {
$list[$i] = $val;
break;
}
}
}
}
ksort($list); // 最后根据key排序