Antworten:
array_slice Gibt einen Slice eines Arrays zurück
$sliced_array = array_slice($array, 0, 5)
ist der Code, der in Ihrem Fall die ersten fünf Elemente zurückgeben soll
array_combine(array_slice(array_keys($array), 0, 5), array_slice($array, 0, 5))
array_slice Returns eine Scheibe eines Arrays“. Aber ich werde meine Antwort bearbeiten, um sie etwas klarer zu machen.
array_splice - Entfernen Sie einen Teil des Arrays und ersetzen Sie ihn durch etwas anderes:
$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)
Aus dem PHP-Handbuch:
array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement]])
Wenn die Länge weggelassen wird, wird alles vom Versatz bis zum Ende des Arrays entfernt . Wenn die Länge angegeben und positiv ist, werden so viele Elemente entfernt. Wenn die Länge angegeben und negativ ist, besteht das Ende des entfernten Abschnitts aus so vielen Elementen vom Ende des Arrays. Tipp: Um alles vom Versatz bis zum Ende des Arrays zu entfernen, wenn auch das Ersetzen angegeben ist, verwenden Sie count ($ input) für die Länge.
Wenn Sie nur die ersten 5 Elemente ausgeben möchten, sollten Sie Folgendes schreiben:
<?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;
}
}
?>
Wenn Sie eine Funktion schreiben möchten, die einen Teil des Arrays zurückgibt, sollten Sie array_slice verwenden:
<?php
function GetElements( $an_array, $elements ) {
return array_slice( $an_array, 0, $elements );
}
?>
Eine objektorientiertere Methode wäre die Bereitstellung eines Bereichs für die # [] -Methode. Zum Beispiel:
Angenommen, Sie möchten die ersten 3 Elemente aus einem Array.
Zahlen = [1,2,3,4,5,6]
Zahlen [0..2] # => [1,2,3]
Angenommen, Sie möchten die ersten x Elemente aus einem Array.
Zahlen [0..x-1]
Das Tolle an dieser Methode ist, dass wenn Sie mehr Elemente als das Array anfordern, einfach das gesamte Array zurückgegeben wird.
Zahlen [0..100] # => [1,2,3,4,5,6]