在"之间插入"数组php中的数字键

时间:2013-12-01 12:18:39

标签: php arrays oop

我目前正在编写一个类来处理来自其他对象的输出。该类使用HTML " fields" 在第一维构造一个数字数组,其中包含标记,属性和内容。对于HTML标记嵌套,内容将再次成为数字数组。如果'Tag'为NULL,则将其视为直接文本。

$output = array( //Numeric array
    array( //Associative array 
        'Tag' => 'h3',
        'Attributes' => 'id=SomeTitle',
        'Contents' => array (), //Numeric array again, same as first dimension,
    ),
    array( //Associative array 
        'Tag' => 'p',
        'Attributes' => 'id=someID',
        'Contents' => array (), //Numeric array again, same as first dimension
    ),
);

现在的问题是:是否有简单方法在已定义的位置上插入数据?让我们说我想要一个新的关联数组放在$output[1]中,所有其他索引等于和高于然后加1。

我知道我可以编写一个反向迭代数组并增加所有索引的方法。只是我想知道我是否忽略了PHP手册中的任何内容,它处理同样的事情。

1 个答案:

答案 0 :(得分:2)

您可以使用array_splice array_splice documentation

  

array array_splice(array& $ input,int $ offset [,int $ length [,mixed $ replacement = array()]])

     

从输入数组中删除由offset和length指定的元素,并将其替换为替换数组的元素(如果提供)。

$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input is now array("red", "green",
//          "blue", "purple", "yellow");