(PHP 4, PHP 5, PHP 7, PHP 8)
array_slice — Extrae una porción de array
array_slice() devuelve una serie de elementos
del array array
comenzando en el
offset offset
y representando
length
elementos.
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
atrue
. Las claves en forma de string son siempre conservadas, independientemente de este parámetro.
Devuelve la porción del array. Si la posición es mayor que el tamaño del array, un array vacío es devuelto.
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 )