Die grundlegende Verwendung von Array_Slice lautet wie folgt:
array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)
$ Array : Das Array zu bedienen.
$ offset : Startposition (kann eine negative Zahl sein, negative Zahl bedeutet ab dem Ende des Arrays).
$ Länge : Die abgefangene Länge (optional).
$ PREISERVE_KEYS : Unabhängig davon, ob der Schlüsselname des ursprünglichen Arrays beibehalten wird, ist der Standard falsch .
Um die letzten N -Elemente des Arrays zu extrahieren, besteht der Schlüssel darin, einen negativen $ Offset zu verwenden. Wenn wir die letzten 3 Elemente extrahieren wollen, können wir Folgendes schreiben:
$lastThree = array_slice($array, -3);
Hier bedeutet -3 , dass der Abfangen von 3 Positionen bis zum Ende des Arrays beginnt und endet.
<?php
// Beispielarray
$fruits = ["Apfel", "Banane", "orange", "Traube", "Mango", "Ananas"];
// Den letzten extrahieren 3 Elemente
$lastThreeFruits = array_slice($fruits, -3);
print_r($lastThreeFruits);
Ausgangsergebnis:
Array
(
[0] => Traube
[1] => Mango
[2] => Ananas
)
Beachten Sie, dass Array_Slice standardmäßig den Schlüsselnamen des Arrays ab 0 zurücksetzt. Wenn Sie den Schlüsselnamen des ursprünglichen Arrays beibehalten möchten, können Sie den vierten Parameter auf True festlegen:
$lastThreeFruits = array_slice($fruits, -3, null, true);
print_r($lastThreeFruits);
Ausgabe:
Array
(
[3] => Traube
[4] => Mango
[5] => Ananas
)
Angenommen, Sie haben eine Reihe von Protokollen, die nur die neuesten N -Protokolle gleichzeitig anzeigen möchten. Sie können sie problemlos mit Array_Slice implementieren:
$logs = [
"2025-05-17 10:00: Benutzeranmeldung",
"2025-05-17 10:05: Benutzer lädt Dateien hoch",
"2025-05-17 10:15: Benutzerbeenden",
"2025-05-17 10:20: Benutzeranmeldung",
"2025-05-17 10:30: Einstellungen für Benutzeränderungen",
];
// Zeigen Sie aktuell 2 Protokoll
$recentLogs = array_slice($logs, -2);
foreach ($recentLogs as $log) {
echo $log . PHP_EOL;
}
Ausgabe:
2025-05-17 10:20: Benutzeranmeldung
2025-05-17 10:30: Einstellungen für Benutzeränderungen
Angenommen, wir arbeiten an einem Array mit mehreren Links und möchten die letzten Links erhalten:
$urls = [
"https://gitbox.net/page1",
"https://gitbox.net/page2",
"https://gitbox.net/page3",
"https://gitbox.net/page4",
"https://gitbox.net/page5",
];
// Holen Sie sich die letzten beiden URL
$lastTwoUrls = array_slice($urls, -2);
print_r($lastTwoUrls);
Ausgabe:
Array
(
[0] => https://gitbox.net/page4
[1] => https://gitbox.net/page5
)