(PHP 4, PHP 5, PHP 7)
array_slice — Extrahiert einen Ausschnitt eines Arrays
$array
, int $offset
[, int $length
= NULL
[, bool $preserve_keys
= FALSE
]] ) : array
array_slice() liefert die mittels
offset
und length
spezifizierte Sequenz von Elementen des Arrays
array
.
array
Das Eingabe-Array.
offset
Ist offset
nicht negativ, beginnt die
Sequenz bei diesem Offset in dem array
.
Ist offset
negativ, beginnt die Sequenz
so viele Elemente vor dem Ende von array
.
Es ist zu beachten, dass der offset
die Position
im Array angibt, nicht den Schlüssel.
length
Ist length
angegeben und positiv, enthält
die Sequenz bis zu so viele Elemente. Wenn das Array kürzer als der
length
ist, dann werden nur die verfügbaren
Array-Elemente vorhanden sein. Ist
length
angegeben und negativ, endet die
Sequenz so viele Elemente vor dem Ende des Arrays. Wenn nicht
angegeben, enthält die Sequenz alle Elemente von
offset
bis zum Ende von
array
.
preserve_keys
Beachten Sie, dass array_slice()
standardmäßig ganzzahlige Schlüssel des Arrays zurücksetzt und neu vergibt.
Sie können dieses Verhalten ändern, indem Sie
preserve_keys
auf TRUE
setzen.
Zeichenkettenschlüssel werden immer erhalten, unabhängig von diesem Parameter.
Gibt den Ausschnitt zurück. Wenn der gewählte offset größer als die Anzahl an Array Elementen ist, wird ein leeres Array zurückgegeben.
Version | Beschreibung |
---|---|
5.2.4 |
Der Standardwert des length Parameters wurde zu
NULL geändert. Eine NULL
length weist nun die Funktion an, die Länge des
array zu verwenden. Vor dieser Version wurde
eine NULL length als 0
interpretiert (nichts wird zurückgegeben).
|
5.0.2 |
Der optionale preserve_keys -Parameter
wurde hinzugefügt.
|
Beispiel #1 array_slice()-Beispiele
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // liefert "c", "d" und "e"
$output = array_slice($input, -2, 1); // liefert "d"
$output = array_slice($input, 0, 3); // liefert "a", "b" und "c"
// beachten Sie die Unterschiede in den Schlüsseln
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array ( [0] => c [1] => d ) Array ( [2] => c [3] => d )
Beispiel #2 array_slice() und ein mit 1 beginnendes Array
<?php
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array ( [0] => b [1] => c )
Beispiel #3 array_slice() und Array mit gemischten Schlüsseln
<?php
$ar = array('a'=>'Apfel', 'b'=>'Banane', '42'=>'Pfirsisch', 'd'=>'Orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array ( [a] => Apfel [b] => Banane [0] => Pfirsisch ) Array ( [a] => Apfel [b] => Banane [42] => Pfirsisch )