(PHP 4, PHP 5, PHP 7)
array_slice — Extraer una parte de un array
$array
, int $offset
[, int $length
= NULL
[, bool $preserve_keys
= false
]] ) : array
array_slice() devuelve la secuencia de elementos
del array array
tal y como se especifica en
los parámetros offset
y
length
.
array
El array de entrada.
offset
Si el índice dado por offset
no es negativo, la secuencia
empezará en esa posición del array
. Si el
offset
es negativo, la secuencia
empezará en esa posición empezando por el final del array
.
length
Si la longitud dada por length
es positiva,
la secuencia tendrá hasta tantos elementos como indique el valor. Si el array
es más corto que length
, solamente estarán
presentes los elementos disponibles del array. Si se proporciona
length
y es negativo, la
secuencia finalizará en tantos elementos empezando por el final del
array. Si se omite, entonces la secuencia contendrá todo el contenido
desde offset
hasta el final del
array
.
preserve_keys
Observe que array_slice() reordenará y reinicializará los
índices numéricos del array de forma predeterminada. Se puede cambiar esta comportamiento
estableciendo el parámetro preserve_keys
a TRUE
.
Devuelve la parte del array. Si el índice es mayor que el tamaño del array, devuelve un array vacío.
Versión | Descripción |
---|---|
5.2.4 |
El valor predeterminado del parámetro length se cambió a NULL. Una length NULL ahora indica a la función que use la longitud de array . Antes de esta versión, una length NULL se tomaba como de longitud cero (no se devolvía nada).
|
5.0.2 |
Se añadió el parámetro opcional preserve_keys .
|
Ejemplo #1 Ejemplos de array_slice()
<?php
$entrada = array("a", "b", "c", "d", "e");
$salida = array_slice($entrada, 2); // devuelve "c", "d", y "e"
$salida = array_slice($entrada, -2, 1); // devuelve "d"
$salida = array_slice($entrada, 0, 3); // devuelve "a", "b", y "c"
// observe las diferencias en las claves de los arrays
print_r(array_slice($entrada, 2, -1));
print_r(array_slice($entrada, 2, -1, true));
?>
El resultado del ejemplo sería:
Array ( [0] => c [1] => d ) Array ( [2] => c [3] => d )