Was ist der beste Weg, um dies zu erreichen?
Was ist der beste Weg, um dies zu erreichen?
Antworten:
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_slice
die numerischen Array-Indizes zurückgesetzt und neu angeordnet werden. Um dies zu vermeiden, muss das preserve_keys
Flag 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');
Sie können array_slice verwenden als:
$sliced_array = array_slice($array,0,$N);
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.
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));
?>
Wenn Sie die ersten N Elemente erhalten und auch aus dem Array entfernen möchten , können Sie Folgendes verwenden array_splice()
(beachten Sie das 'p' in "splice"):
http://docs.php.net/manual/da/function.array-splice.php
benutze es so: $array_without_n_elements = array_splice($old_array, 0, N)