PHP将多维数组插入常规数组中

时间:2015-11-25 17:45:49

标签: php arrays multidimensional-array

我有一个名为 $ input 的常规数组输入如下所示:

$input = array("red", "green", "blue", "yellow");

我想插入

$a = array("black","maroon");

进入数组,以便得到:

Array ( [0] => red [1] => green [2] => blue [3] => Array([0] => black [1] => maroon ) [4] => yellow)

使用:

array_splice($input, -1, 1, array("black", "maroon"));

然而,当我跑步时,我得到:

Array ( [0] => red [1] => green [2] => blue [3] => black [4] => maroon )

如何调整此项以获得理想的结果?

4 个答案:

答案 0 :(得分:0)

为什么不简单地这样做:

$input[3] = $a;

答案 1 :(得分:0)

使用array_push()

尝试此操作
$input = array("red", "green", "blue", "yellow");
array_pop($input);
$a = array("black","maroon");

array_push($input,$a);

print_r($input);

请参阅demo here(索引为黄色)

使用array_pop(),请参阅演示here(替换最后一个索引,即黄色)

答案 2 :(得分:0)

$input[count($input)+1] = $a;

根据需要尽可能多地使用您需要的阵列。

答案 3 :(得分:0)

假设这是一个索引数组,这将首先将所有元素向前推送1个偏移量并伪造一个新的替换。然后你可以用那个键插入

$arr1 = array(1, 2, 3, 4);
$arr2 = array("a", "b");
$offset = 2;
array_splice($arr1, $offset, 0, "");
$arr1[$offset] = $arr2;

arr1输出:

Array
(
    [0] => 1
    [1] => 2
    [2] => Array
        (
            [0] => a
            [1] => b
        )

    [3] => 3
    [4] => 4
)