在数组内添加数组数组

时间:2021-06-30 01:11:01

标签: php arrays

我正在尝试从其他数组中获取一个数组项并将其放入主数组中有两个数组:

$original = array( 
            array( 'key1' => 'value1', 'key2' => 'value2' ) , 
            array( 'key1' => 'value1', 'key2' => 'value2' ), 
            array( 'key1' => 'value1', 'key2' => 'value2' ), 
            array( 'key1' => 'value1', 'key2' => 'value2' ) , 
            array( 'key1' => 'value1', 'key2' => 'value2' )  
    );
$inserted = array( 'keyA' => 'valueA', 'keyB' => 'valueB' );

$original 返回:

Array
(
    [0] => Array
        (
            [key1] => value1
            [key2] => value2
        )

    [1] => Array
        (
            [key1] => value1
            [key2] => value2
        )

    [2] => Array
        (
            [key1] => value1
            [key2] => value2
        )

    [3] => Array
        (
            [key1] => value1
            [key2] => value2
        )

    [4] => Array
        (
            [key1] => value1
            [key2] => value2
        )

)

但我想在特定位置插入$inserted,例如3。我试过:

array_splice( $original, 3, 0, $inserted );

现在返回:

Array
(
    [0] => Array
        (
            [key1] => value1
            [key2] => value2
        )

    [1] => Array
        (
            [key1] => value1
            [key2] => value2
        )

    [2] => Array
        (
            [key1] => value1
            [key2] => value2
        )

    [3] => valueA
    [4] => valueB
    [5] => Array
        (
            [key1] => value1
            [key2] => value2
        )

    [6] => Array
        (
            [key1] => value1
            [key2] => value2
        )

)

如何正确将$inserted作为数组的新项?我不知道我做错了什么,我不确定 array_splice 是否是更好的选择。你能帮我吗?

1 个答案:

答案 0 :(得分:3)

代替

array_splice( $original, 3, 0, $inserted );

array_splice( $original, 3, 0, array($inserted) );

结果

Array
(
    [0] => Array
        (
            [key1] => value1
            [key2] => value2
        )
    [1] => Array
        (
            [key3] => value3
            [key4] => value4
        )
    [2] => Array
        (
            [key5] => value5
            [key6] => value6
        )
    [3] => Array
        (
            [keyA] => valueA
            [keyB] => valueB
        )
    [4] => Array
        (
            [key7] => value7
            [key8] => value8
        )
    [5] => Array
        (
            [key9] => value9
            [key10] => value10
        )
)
相关问题