array_slice

(PHP 4, PHP 5, PHP 7, PHP 8)

array_sliceExtrae una porción de array

Descripción

array_slice(
    array $array,
    int $offset,
    ?int $length = null,
    bool $preserve_keys = false
): array

array_slice() devuelve una serie de elementos del array array comenzando en el offset offset y representando length elementos.

Parámetros

array

El array de entrada.

offset

Si offset es no negativo, la secuencia comenzará en esta posición en el array array.

Si offset es negativo, la secuencia comenzará en la posición offset, pero comenzando desde el final del array array.

Nota:

El parámetro offset indica la posición en el array, no la clave.

length

Si length es proporcionado y positivo, entonces la secuencia tendrá hasta ese número de elementos.

Si el array es más corto que length, entonces solo los elementos del array disponibles estarán presentes.

Si length es proporcionado y negativo, entonces la secuencia excluirá ese número de elementos del final del array.

Si es omitido, la secuencia tendrá todo desde la posición offset hasta el final de array.

preserve_keys

Nota:

Por omisión array_slice() reordenará y reinicializará los índices enteros del array. Este comportamiento puede ser modificado definiendo el parámetro preserve_keys a true. Las claves en forma de string son siempre conservadas, independientemente de este parámetro.

Valores devueltos

Devuelve la porción del array. Si la posición es mayor que el tamaño del array, un array vacío es devuelto.

Ejemplos

Ejemplo #1 Ejemplo con array_slice()

<?php
$input
= array("a", "b", "c", "d", "e");

$output = array_slice($input, 2); // devuelve "c", "d", y "e"
$output = array_slice($input, -2, 1); // devuelve "d"
$output = array_slice($input, 0, 3); // devuelve "a", "b", y "c"

// note las claves de índice diferentes
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

El resultado del ejemplo sería:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

Ejemplo #2 array_slice() y basado en un array

<?php
$input
= array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>

El resultado del ejemplo sería:

Array
(
    [0] => b
    [1] => c
)

Ejemplo #3 array_slice() y array con claves mixtas

<?php
$ar
= array('a'=>'apple', 'b'=>'banana', '42'=>'pear', 'd'=>'orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>

El resultado del ejemplo sería:

Array
(
    [a] => apple
    [b] => banana
    [0] => pear
)
Array
(
    [a] => apple
    [b] => banana
    [42] => pear
)

Ver también