array_splice

(PHP 4 )

array_splice --  Suprime una porción de la matriz y la sustituye por otra cosa

Descripción

array array_splice ( array entrada, int desplazamiento [, int tamano [, array sustitucion]])

array_splice() suprime los elementos designados por el desplazamiento y el tamano de la matriz entrada, y los sustituye con los elementos de la matriz de sustitucion si se especifica.

Si el desplazamiento es positivo, el comienzo de la parte suprimida sería en esa posición desde el comienzo de la matriz de entrada. Si el desplazamiento es negativo, se cuenta la posición desde el final de la matriz de entrada.

Si se omite tamano, se suprime todo desde el desplazamiento hasta el final de la matriz. Si se especifica el tamano y es positivo, se suprimirán tantos elementos como se especifica. Si fuera negativo, el final de la porción eliminada estará a tantos elementos del final de la matriz. Truco: para eliminar todo desde el desplazamiento hasta el final de la matriz cuando también se especifica sustitucion, utilice count($entrada) como tamano.

Si se especifia la matriz de sustitucion, entonces los elementos suprimidos son reemplazados con los elementos de dicha matriz. Si los valores de desplazamiento y tamano son tales que nada es borrado, los elementos de la matriz sustitucion se insertarán en la posición indicada por el desplazamiento. Truco: si sólo se va a sustituir algo por un elemento nada más, no hace falta poner array() alrededor del mismo, salvo que dicho elemento sea una matriz en sí mismo.

Las siguientes funciones son equivalentes:
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))
$a[$x] = $y                    array_splice($entrada, $x, 1, $y)

Devuelve una matriz que tiene los elementos eliminados

Ejemplo 1. Ejemplos de array_splice()

$entrada = array("rojo", "verde", "azul", "amarillo");

array_splice($entrada, 2);      // $entrada vale ahora array("rojo", "verde")
array_splice($entrada, 1, -1);  // $entrada vale ahora array("rojo", "amarillo")
array_splice($entrada, 1, count($entrada), "naranja");  
                              // $entrada vale ahora array("rojo", "naranja")
array_splice($entrada, -1, 1, array("negro", "marrón")); 
                              // $entrada vale ahora array("rojo", "verde", 
                              //          "azul", "negro", "marrón")

Vea también: array_slice().

Nota: Esta función fue añadida en el PHP 4.0.