PHP在特定位置将数组插入关联数组

时间:2019-03-12 15:43:12

标签: php arrays insert associative-array array-splice

我想在特定位置将一个数组插入到另一个关联数组,但是对我来说,array_splice不起作用。 我要这样做:

    $example = [
       'first' => 'element',
       'second' => 'element'];
    $example[] = [
       'third' => 'element',
       'fourth' => 'element'];

现在,我们有了一个内部带有两个其他数组的关联数组。 我想在其中插入另一个数组,例如在它们之间。重要的是,我要插入到特定索引。

     $insert[] = [
        'insert_first' => 'element',
        'insert_second' => 'element'];
     //I made before it: 
     $index = 1;
     array_splice($example, $index, 0, $insert); //but it doesn't work :(

我想要以下结果:

array(
 [0] => array(
    'first' => 'element',
    'second' => 'element'
 )
 [1] => array(
    'insert_first' => 'element',
    'insert_second' => 'element'
 )
 [2] => array(
    'third' => 'element',
    'fourth' => 'element'
 )
)

有人可以帮我吗?

谢谢匈牙利的巴拉兹。

2 个答案:

答案 0 :(得分:4)

$example[] = [
   'first' => 'element',
   'second' => 'element'];
$example[] = [
   'third' => 'element',
   'fourth' => 'element'];
$insert[] = [
    'insert_first' => 'element',
    'insert_second' => 'element'];

$index = 1;
array_splice($example, $index, 0, $insert);
print_r($example);

给你:

Array ( 
 [0] => Array ( [first] => element [second] => element ) 
 [1] => Array ( [insert_first] => element [insert_second] => element ) 
 [2] => Array ( [third] => element [fourth] => element ) )

答案 1 :(得分:2)

您的原始数组不正确。更正一个:

// Here you have array with one element which is array:
$example = [
   [
       'first' => 'element',
       'second' => 'element'
   ]
];
// Add another element which is array too
$example[] = [
   'third' => 'element',
   'fourth' => 'element'];
// define insert array
$insert[] = [
    'insert_first' => 'element',
    'insert_second' => 'element'
];
$index = 1;
array_splice($example, $index, 0, $insert);