array_splice
(PHP 4, PHP 5)
array_splice — Elimina una porción del array y la reemplaza con algo
Descripción
&$input
, int $offset
[, int $length
[, mixed $replacement = 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
replacementno es un array, será convertido a uno (esto es,(array) $parámetro). Esto puede resultar en un comportamiento inesperado cuando se usa un objeto oreplacementNULL
Parámetros
-
input -
El array de entrada.
-
offset -
Si el índice dado por
offsetes positivo, el inicio de la porción eliminada estará en ese índice desde el principio del arrayinput. Sioffsetes negativo, se comienza desde el final del arrayinput. -
length -
Si se omite la longitud dada por
length, se elimina todo desdeoffsethasta el final del array. Si se especificalengthy es positivo, se eliminarán tantos elementos como indique la longitud. Si se especificalengthy es negativo, el final de la porción eliminada será de tantos elementos como indique la longitud desde el final del array. Si se especificalengthy es cero, no se eliminará ningún elemento. Consejo: para eliminar todo desdeoffsethasta el final del array cuando también se especifiquereplacement, use count($input) paralength. -
replacement -
Si se especifica el array
replacement, los elementos eliminados serán reemplazados con los elementos de este array.Si
offsetylengthson tales que no se elimina nada, los elementos del arrayreplacementserán insertados en el lugar especificado poroffset. Observe que las claves del array replacement no se preservan.Si
replacementes sólo un elemento, no es necesario poner array() alrededor de él, a menos que el elemento sea un array, un objeto oNULL.
Valores devueltos
Devuelve un array que consiste en los elementos extraídos.
Ejemplos
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);
?>
Ver también
- array_slice() - Extrae una parte de un array
- unset() - Destruye una variable especificada
- array_merge() - Combina dos o más arrays