(PHP 4, PHP 5, PHP 7, PHP 8)
array_slice — Extrahiert einen Ausschnitt eines Arrays
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
.
Hinweis:
Der
offset
Parameter gibt die Position im Array an, nicht den Schlüssel.
length
Ist length
angegeben und positiv, enthält die Sequenz bis zu so viele Elemente.
Ist das Array kürzer als length
, 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
Hinweis:
array_slice() setzt standardmäßig ganzzahlige Schlüssel des Arrays zurück und vergibt sie neu. Dieses Verhalten kann geändert werden, indem
preserve_keys
auftrue
gesetzt wird. Zeichenkettenschlüssel werden immer erhalten, unabhängig von diesem Parameter.
Gibt den Ausschnitt zurück. Ist der gewählte offset größer als die Anzahl an Array-Elementen, wird ein leeres Array zurückgegeben.
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 )