(PHP 4, PHP 5, PHP 7)
array_splice — Elimina una porción del array y la reemplaza con otra cosa
&$input
, int $offset
[, int $length
= 0
[, mixed $replacement
= array()
]] ) : array
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);
?>