array_splice
Suprime una porción de la matriz y la sustituye por otra cosa
Descripción
arrayarray_splice
arrayentrada
intdesplazamiento
inttamano
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
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.
Esta función fue añadida en el PHP 4.0.