(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.
arrayEl 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
)