使用php在数组任意位置插入元素,其实很简单,使用array_splice方法即可。
参考:
$ary = array(array(‘t’=>1,’y'=>2),array(‘t’=>2,’y'=>9));
$t = array_splice($ary, 1,0,array(array(‘t’=>3,’y'=>10)));
print_r($ary);
控制台输出:
Array ( [0] => Array ( [t] => 1 [y] => 2 ) [1] => Array ( [t] => 3 [y] => 10 ) [2] => Array ( [t] => 2 [y] => 9 ) )
简单介绍一下array_splice方法,参数一就是被操作的数组,参数二是操作元素的索引值,参数三是长度,参数四是待替换元素。该方法的效果是删除参数一数组中以参数二为起始位置长度参数三的连贯的元素,然后用参数四补上。
假如长度为0,那么效果就相当于在指定索引值处插入指定元素了。
array_push
array_push -- 将一个或多个单元压入数组的末尾(入栈)
说明
int array_push ( array &array, mixed var [, mixed ...] )
array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。和如下效果相同:
<?php
$array[] = $var;
?>
并对每个 var 重复以上动作。
返回数组新的单元总数。
例子 1. array_push() 例子
<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>
本例将使 $stack 具有如下单元:
Array
(
[0] => orange
[1] => banana
[2] => apple
[3] => raspberry
)
注: 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。
注: 如果第一个参数不是数组,array_push() 将发出一条警告。这和 $var[] 的行为不同,后者会新建一个数组。 |