array_splice() 函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组。
提示:如果函数没有移除任何元素(length=0),则将从 start 参数的位置插入被替换数组(参见例子 2)。
注释:不保留被替换数组中的键名。
说明
array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。
如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。
最后生成的数组将会返回。
语法
array_splice(array,start,length,array)
array
必需。规定数组。
start
必需。数值。规定删除元素的开始位置。
•0 = 第一个元素。
•如果该值设置为正数,则从数组中该值指定的偏移量开始移除。
•如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。
•-2 意味着从数组的倒数第二个元素开始。
length
可选。数值。规定被移除的元素个数,也是被返回数组的长度。
•如果该值设置为正数,则移除该数量的元素。
•如果该值设置为负数,则移除从 start 到数组末端倒数 length 为止中间所有的元素。
•如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。
array
可选。规定带有要插入原始数组中元素的数组。
如果只有一个元素,则可以设置为字符串,不需要设置为数组。
示例一:从数组中移除元素,并用新元素取代它
$a1 = array("a" => "red", "b" => "green", "c" => "blue", "d" => "yellow");
$a2 = array("a" => "purple", "b" => "orange");
print_r(array_splice($a1, 0, 2, $a2)); // 返回被移除的数组
// Array ( [a] => red [b] => green )
echo '
';
print_r($a1); // 输出替换后的数组
// Array ( [0] => purple [1] => orange [c] => blue [d] => yellow )
?>
示例二:把 length 参数设置为 0
$a1 = array("0" => "red", "1" => "green");
$a2 = array("0" => "purple", "1" => "orange");
array_splice($a1, 1, 0, $a2);
print_r($a1); // 相当于在元素red后面插入了2个新元素
// Array ( [0] => red [1] => purple [2] => orange [3] => green )
?>