2010-08-28 22 views

Respuesta

39

$n es igual al número de elementos que desea que salgan del final.

$arr = array_slice($old_arr, -$n); 
+1

¡Gracias! Simplemente no pude encontrar esa función. – Dataflashsabot

0

Puede usar http://us2.php.net/array_slice.

$new = array_slice($old, $n); 

Sin embargo, $n es el desplazamiento de iniciar el corte, por lo que para su cálculo, lo que tendría que restar esto de la longitud de la matriz: $n = count($old) - $target_size.

+4

O lea la documentación que ha vinculado y descubra que los desplazamientos negativos comienzan al final de la matriz. 'Si el desplazamiento no es negativo, la secuencia comenzará en ese desplazamiento en el conjunto. Si el desplazamiento es negativo, la secuencia comenzará tan lejos del final de la matriz. – Femaref

3

Puede utilizar array_slice:

$arr = array_slice($old_arr, -$n, $n, true); 

Si los índices de matriz son significativos para usted, recuerde que array_slice se restablecerá y reordenar los índices de los arrays numéricos. Necesita el indicador preserve_keys (4º parámetro) establecido en verdadero para evitar esto.

Cuestiones relacionadas