php 指定顺序插入数组元素

220 阅读1分钟

要求:在数组第2,4个位置插入一个数组

$insert = [
    ['index'=> 2, 'data' => '第2'],
    ['index'=> 4, 'data' => '第4'],
];
$data = [
    ['a' => 'a'],
    ['b' => 'b'],
    ['c' => 'c'],
    ['d' => 'd'],
    ['e' => 'e'],
    ['f' => 'f'],
];
$i = 0;
foreach ($insert as $value) {
    if (!$value) {
        continue;
    }
    array_splice($data, $value['index'] - 1 + $i, 0 ,[$value]);
    $i++;
}

print_r($data);

 [                     
   [                   
     "a" => "a",       
   ],                  
   [                   
     "index" => 2,     
     "data" => "第2",   
   ],                  
   [                   
     "b" => "b",       
   ],                  
   [                   
     "c" => "c",       
   ],                  
   [                   
     "index" => 4,     
     "data" => "第4",   
   ],                  
   [                   
     "d" => "d",       
   ],                  
   [                   
     "e" => "e",       
   ],                  
   [                   
     "f" => "f",       
   ],                  
 ]