(PHP 4, PHP 5, PHP 7, PHP 8)
array_splice — Elimina y reemplaza una porción de array
array_splice() elimina los elementos
designados por offset
y
length
del array array
y
los reemplaza por los elementos del array
replacement
, si este último es proporcionado.
Nota:
Las claves numéricas en
array
no son preservadas.
Nota: Si
replacement
no es un array, se convertirá en uno por conversión (i.e.(array) $replacement
). Esto puede producir resultados inesperados al usar un objeto onull
como argumentoreplacement
.
array
El array de entrada.
offset
Si offset
es positivo, el inicio de la sección
a eliminar estará en esta posición comenzando desde el inicio del array
array
.
Si offset
es negativo, el inicio de la sección
a eliminar estará en esta posición comenzando desde el final del array
array
.
length
Si length
es omitido, todos los elementos del array
desde la posición offset
hasta el final del
array serán eliminados.
Si length
es proporcionado y positivo,
entonces tantos elementos serán eliminados.
Si length
es proporcionado y negativo,
entonces tantos elementos serán eliminados desde el final del array.
Si length
es proporcionado y vale cero,
entonces ningún elemento será eliminado.
Para eliminar todo desde la posición offset
hasta el final del array cuando replacement
también es proporcionado, usar count($input)
para length
.
replacement
Si el array replacement
es proporcionado, entonces los
elementos eliminados son reemplazados por los elementos de este array.
Si el offset
y length
son tales que nada es eliminado, entonces los elementos del array
replacement
son insertados en la posición
offset
.
Nota:
Las claves del array
replacement
no son preservadas.
Si replacement
es solo un elemento no es
necesario rodear el elemento con array()
o corchetes,
a menos que el elemento sea él mismo un array, un objeto o null
.
Devuelve un array conteniendo los elementos extraídos.
Versión | Descripción |
---|---|
8.0.0 |
length es ahora nullable.
|
Ejemplo #1 Ejemplos con array_splice()
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
var_dump($input);
?>
El resultado del ejemplo sería:
array(2) { [0]=> string(3) "red" [1]=> string(5) "green" } array(2) { [0]=> string(3) "red" [1]=> string(6) "yellow" } array(2) { [0]=> string(3) "red" [1]=> string(6) "orange" } array(5) { [0]=> string(3) "red" [1]=> string(5) "green" [2]=> string(4) "blue" [3]=> string(5) "black" [4]=> string(6) "maroon" }
Ejemplo #2 Declaraciones equivalentes a diversos ejemplos de array_splice()
Las siguientes declaraciones son equivalentes:
<?php
// añadir dos elementos a $input
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
// eliminar el último elemento de $input
array_pop($input);
array_splice($input, -1);
// eliminar el primer elemento de $input
array_shift($input);
array_splice($input, 0, 1);
// insertar dos elementos al inicio de $input
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
// reemplazar el valor en $input en el índice $x
$input[$x] = $y; // para arrays cuyas claves son iguales al offset
array_splice($input, $x, 1, $y);
?>