Die ersten N Elemente eines Arrays erhalten?


Antworten:


358

Verwenden Sie array_slice ()

Dies ist ein Beispiel aus dem PHP-Handbuch: array_slice

$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

Es gibt nur ein kleines Problem

Wenn die Array-Indizes für Sie von Bedeutung sind, denken Sie daran, dass dadurch array_slicedie numerischen Array-Indizes zurückgesetzt und neu angeordnet werden. Um dies zu vermeiden, muss das preserve_keysFlag gesetzt sein true. (4. Parameter, verfügbar seit 5.0.2).

Beispiel:

$output = array_slice($input, 2, 3, true);

Ausgabe:

array([3]=>'c', [4]=>'d', [5]=>'e');


12

In der aktuellen Reihenfolge? Ich würde array_slice () sagen . Da es sich um eine integrierte Funktion handelt, ist sie schneller als das Durchlaufen des Arrays, während ein inkrementierender Index bis N verfolgt wird.


4

array_slice () ist am besten zu versuchen, die folgenden Beispiele sind:

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

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

// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.