array_splice
array_splice
(PHP 4, PHP 5, PHP 7)
array_splice - 删除数组的一部分并用其他东西替换它
描述
array array_splice ( array &$input , int $offset [, int $length = count($input) [, mixed $replacement = array() ]] )
从输入数组中删除由offset和length指定的元素,并用替换数组的元素(如果提供)替换它们。
请注意,数字键input
不会被保留。
注意:如果replacement不是数组,它将被转换为一个(如
(array) $replacement
)。 这可能会导致在使用对象或NULL替换时出现意外的行为。
参数
input
输入数组。
offset
如果偏移量为正数,那么被移除部分的开始位置就是从输入数组开始处的偏移量。 如果偏移量是负数,那么它会从输入数组的末尾开始。
length
如果省略长度,则删除从偏移量到数组末尾的所有内容。 如果长度被指定并且是正数,那么许多元素将被删除。 如果长度被指定并且是负数,那么被移除部分的末端将是数组末尾的许多元素。 如果指定了长度并且为零,则不会删除任何元素。 提示:如果还指定了替换,则要从偏移量到数组末尾删除所有内容,请使用count($ input)作为长度。
replacement
如果replacement
指定了数组,则删除的元素将被此数组中的元素替换。
如果偏移量和长度都不会被删除,则替换数组中的元素将插入到由偏移量指定的位置。 请注意,替换数组中的键不会被保留。
如果replacement
只是一个元素,则不需要在其周围放置array()
,除非该元素是一个数组本身,一个对象或NULL
。
返回值
返回由提取的元素组成的数组。
例子
示例#1 array_splice()示例
<?php
$input = array("red", "green", "blue", "yellow"
array_splice($input, 2
// $input is now array("red", "green")
$input = array("red", "green", "blue", "yellow"
array_splice($input, 1, -1
// $input is now array("red", "yellow")
$input = array("red", "green", "blue", "yellow"
array_splice($input, 1, count($input), "orange"
// $input is now array("red", "orange")
$input = array("red", "green", "blue", "yellow"
array_splice($input, -1, 1, array("black", "maroon")
// $input is now array("red", "green",
// "blue", "black", "maroon")
$input = array("red", "green", "blue", "yellow"
array_splice($input, 3, 0, "purple"
// $input is now array("red", "green",
// "blue", "purple", "yellow"
?>
示例#2 array_splice()示例
以下语句以相同方式更改$输入的值:
<?php
// append two elements to $input
array_push($input, $x, $y
array_splice($input, count($input), 0, array($x, $y)
// remove the last element of $input
array_pop($input
array_splice($input, -1
// remove the first element of $input
array_shift($input
array_splice($input, 0, 1
// insert an element at the start of $input
array_unshift($input, $x, $y
array_splice($input, 0, 0, array($x, $y)
// replace the value in $input at index $x
$input[$x] = $y; // for arrays where key equals offset
array_splice($input, $x, 1, $y
?>
扩展内容
- array_slice() - 提取数组的一部分
- unset() - 取消设置给定的变量
- array_merge() - 合并一个或多个数组
← array_slice
array_sum →