(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
arrayno son preservadas.
Nota: Si
replacementno es un array, se convertirá en uno por conversión (i.e.(array) $replacement). Esto puede producir resultados inesperados al usar un objeto onullcomo argumentoreplacement.
arrayEl 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
replacementno 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);
?>