(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
.
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 )