(PHP 4, PHP 5)
array_splice — Elimina una porción del array y la reemplaza con algo
Elimina los elementos designados por offset
y
length
del array input
,
y los reemplaza con los elementos del
aray replacement
array, si se proporcionan.
Observe que las clave numéricas de input
no se preservan.
Nota: Si
replacement
no es un array, será convertido a uno (esto es,(array) $parámetro
). Esto puede resultar en un comportamiento inesperado cuando se usa unreplacement
objeto oNULL
input
El array de entrada.
offset
Si 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 length
, se elimina todo
desde offset
hasta el final del array. Si
length
se especifica y es positivo,
se eliminarán tantos elementos como contenga el valor de length. Si
length
se especifica y es negativo,
el final de la porción eliminada será de tantos elementos como contenga length desde
el final del array. Consejo: para eliminar todo desde
offset
hasta el final del array cuando
replacement
también se especifique, 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 nada se elimina, entonces 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);
?>