我正在尝试从其他数组中获取一个数组项并将其放入主数组中有两个数组:
$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 是否是更好的选择。你能帮我吗?
答案 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
)
)