Funktion array_slice
Die Funktion array_slice schneidet einen Teil eines Arrays aus und gibt ihn zurück.
Das ursprüngliche Array wird dabei nicht verändert.
Der erste Parameter gibt das Array an, das zerteilt werden soll.
Der zweite Parameter gibt an, ab welchem Element mit dem Ausschneiden begonnen werden soll, und der dritte
- wie viele Elemente ausgeschnitten werden sollen. Der zweite Parameter
kann negativ sein - in diesem Fall
beginnt die Zählung vom Ende aus (-1 - das letzte Element,
-2 - das vorletzte und so weiter). Der dritte Parameter
kann ganz weggelassen werden - in diesem Fall
wird das Array bis zum Ende ausgeschnitten.
Der letzte optionale Parameter steuert,
ob die Schlüssel beim Ausschneiden beibehalten werden sollen, true -
beibehalten, false (Standard) - nicht beibehalten.
String-Schlüssel werden unabhängig vom
Wert dieses Parameters beibehalten.
Syntax
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Beispiel
Lassen Sie uns Elemente ab dem ersten (hat
Nummer 0), 3 Stück ausschneiden:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Ergebnis der Codeausführung:
['a', 'b', 'c']
Beispiel
Lassen Sie uns Elemente ab dem zweiten (hat
Nummer 1), 3 Stück ausschneiden:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Ergebnis der Codeausführung:
['b', 'c', 'd']
Beispiel
Lassen Sie uns Elemente ab dem zweiten (hat
Nummer 1) bis zum Ende des Arrays ausschneiden. Dafür schreiben wir den dritten
Parameter nicht:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Ergebnis der Codeausführung:
['b', 'c', 'd', 'e']
Beispiel
Lassen Sie uns Elemente ab dem vorletzten,
2 Stück ausschneiden. Dafür setzen wir den zweiten Parameter
auf -2 (Position des vorletzten
Elements):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Ergebnis der Codeausführung:
['d', 'e']
Beispiel
Standardmäßig behält das Array beim Ausschneiden keine Schlüssel bei:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Ergebnis der Codeausführung:
['a', 'b', 'c']
Beispiel
Lassen Sie uns dafür sorgen, dass die Schlüssel erhalten bleiben. Dafür setzen wir den letzten Parameter auf true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Ergebnis der Codeausführung:
[1 => 'a', 2 => 'b', 3 => 'c']
Beispiel
String-Schlüssel werden beim Ausschneiden beibehalten:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Ergebnis der Codeausführung:
['a' => 1, 'b' => 2, 'c' => 3]
Siehe auch
-
die Funktion
array_splice,
die einen Teil eines Arrays ausschneidet und dabei das ursprüngliche Array verändert