(PHP 4, PHP 5)
array_splice — Suprime una porción de la matriz y la sustituye por otra cosa
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 especifica 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 . Note que los índices en la matriz que se remplaza no serán conservados. Si el parámetro sustitucion es de sólo un elemento no es necesario poner array().
Las siguientes funciones son equivalentes: Las sentencias siguientes cambian los valores de $entrada en la misma forma:
array_push($input, $x, $y) | array_splice($input, count($input), 0, array($x, $y)) |
array_pop($input) | array_splice($input, -1) |
array_shift($input) | array_splice($input, 0, 1) |
array_unshift($input, $x, $y) | array_splice($input, 0, 0, array($x, $y)) |
$input[$x] = $y // Para matrices donde el índice equivale a la posición | array_splice($input, $x, 1, $y) |
Devuelve una matriz que tiene los elementos eliminados
Example#1 Ejemplos de array_splice()
<?php
$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(), unset(), array_merge().