(PHP 4, PHP 5, PHP 7, PHP 8)
array_splice — Elimina una porción del array y la reemplaza con otra cosa
Elimina los elementos designados por offset
y length
del array input
, y los reemplaza con los elementos del array replacement
, si se proporcionan.
Observe que las claves numéricas de input
no se preservan.
Nota: Si
replacement
no es un array, será moldeado a uno (esto es,(array) $replacement
). Esto puede resultar en un comportamiento inesperado cuando se usa un objeto oreplacement
null
input
El array de entrada.
offset
Si el índice dado por offset
es positivo, el inicio de la porción eliminada estará en ese índice desde el principio del array input
. Si offset
es negativo, se comienza desde el final del array input
.
length
Si se omite la longitud dada por length
, se elimina todo desde offset
hasta el final del array. Si se especifica length
y es positivo, se eliminarán tantos elementos como indique la longitud. Si se especifica length
y es negativo, el final de la porción eliminada será de tantos elementos como indique la longitud desde el final del array. Si se especifica length
y es cero, no se eliminará ningún elemento. Consejo: para eliminar todo desde offset
hasta el final del array cuando también se especifique replacement
, use count($input)
para length
.
replacement
Si se especifica el array replacement
, los elementos eliminados serán reemplazados con los elementos de este array.
Si offset
y length
son tales que no se elimina nada, los elementos del array replacement
serán insertados en el lugar especificado por offset
. Observe que las claves del array replacement no se preservan.
Si replacement
es sólo un elemento, no es necesario poner array()
alrededor de él, a menos que el elemento sea un array, un objeto o null
.
Devuelve un array que consiste en los elementos extraídos.
Ejemplo #1 Ejemplos de array_splice()
<?php
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 2);
// $entrada ahora es array("rojo", "verde")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, -1);
// $entrada ahora es array("rojo", "amarillo")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, count($entrada), "naranja");
// $entrada ahora es array("rojo", "naranja")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, -1, 1, array("negro", "granate"));
// $entrada ahora es array("rojo", "verde",
// "azul", "negro", "granate")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 3, 0, "púpura");
// $entrada ahora es array("rojo", "verde",
// "azul", "púpura", "amarillo");
?>
Ejemplo #2 Ejemplos de array_splice()
Las siguientes sentencias cambian el valor de $entrada de la misma manera:
<?php
array_push($entrada, $x, $y);
array_splice($entrada, count($entrada), 0, array($x, $y));
array_pop($entrada);
array_splice($entrada, -1);
array_shift($entrada);
array_splice($entrada, 0, 1);
array_unshift($entrada, $x, $y);
array_splice($entrada, 0, 0, array($x, $y));
$entrada[$x] = $y; // para arrays donde la clave es igual al índice
array_splice($entrada, $x, 1, $y);
?>