Risposte:
array_slice
restituisce una porzione di un array
$sliced_array = array_slice($array, 0, 5)
è il codice che desideri nel tuo caso per restituire i primi cinque elementi
array_combine(array_slice(array_keys($array), 0, 5), array_slice($array, 0, 5))
array_slice
restituisce una porzione di un array". Ma modificherò la mia risposta per renderla un po 'più chiara.
array_splice - Rimuovi una parte dell'array e sostituiscila con qualcos'altro:
$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)
Dal manuale di PHP:
array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement]])
Se la lunghezza viene omessa, rimuove tutto dall'offset alla fine dell'array . Se la lunghezza è specificata ed è positiva, verranno rimossi molti elementi. Se la lunghezza è specificata ed è negativa, la fine della porzione rimossa sarà quella di molti elementi dalla fine dell'array. Suggerimento: per rimuovere qualsiasi cosa dall'offset alla fine dell'array quando viene specificata anche la sostituzione, utilizzare count ($ input) per la lunghezza.
Se vuoi solo produrre i primi 5 elementi, dovresti scrivere qualcosa del tipo:
<?php
if (!empty ( $an_array ) ) {
$min = min ( count ( $an_array ), 5 );
$i = 0;
foreach ($value in $an_array) {
echo $value;
$i++;
if ($i == $min) break;
}
}
?>
Se si desidera scrivere una funzione che restituisce parte dell'array, è necessario utilizzare array_slice:
<?php
function GetElements( $an_array, $elements ) {
return array_slice( $an_array, 0, $elements );
}
?>
Un modo più orientato agli oggetti sarebbe quello di fornire un intervallo al metodo # []. Per esempio:
Supponiamo che tu voglia i primi 3 elementi da un array.
numeri = [1,2,3,4,5,6]
numeri [0..2] # => [1,2,3]
Supponiamo che tu voglia i primi x elementi da un array.
numeri [0..x-1]
La cosa grandiosa di questo metodo è che se chiedi più elementi di quelli dell'array, restituisce semplicemente l'intero array.
numeri [0..100] # => [1,2,3,4,5,6]