我目前正在编写一个类来处理来自其他对象的输出。该类使用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手册中的任何内容,它处理同样的事情。
答案 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");