Array_Slice ist eine integrierte Funktion in PHP, um ein kontinuierliches Stück Elemente aus einem Array zu extrahieren. Seine grundlegende Syntax ist:
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ Array : Das zu abgefangene Array
$ offset : Startposition, 0 bedeutet ab dem ersten Element ab dem ersten Element
$ Länge : Die Länge des Abfangs. Wenn nicht angegeben, liegt der Standard am Ende des Arrays.
$ PREISERVE_KEYS : Ob Sie den Schlüsselnamen des ursprünglichen Arrays behalten, standardmäßig auf False
Angenommen, wir haben ein Array mit 100 Datenstücke, und jetzt müssen wir die Paging -Funktion zum Anzeigen von 10 Datenprodukten pro Seite implementieren.
Aktuelle Seitennummer $ Seite (ab 1)
Anzahl der angezeigten Zeichen pro Seite $ pageszesize
Berechnen Sie den Ausgangspunkt von Array Intercept $ offset = ($ Seite - 1) * $ pageSize
Verwenden Sie einfach Array_Slice , um die Daten der aktuellen Seite vom Array abzufangen.
<?php
// Simulieren Sie das Datenarray
$data = range(1, 100); // Generieren inklusive 1 ankommen 100 Array von Zahlen
// Holen Sie sich die aktuelle Seitennummer,Der Standard ist der erste 1 Seite
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$page = max($page, 1); // 确保Seite码不小于 1
// 每Seite显示多少条
$pageSize = 10;
// Offset berechnen
$offset = ($page - 1) * $pageSize;
// verwenden array_slice 截取当前Seite的数据
$pageData = array_slice($data, $offset, $pageSize);
// 输出当前Seite的数据
foreach ($pageData as $item) {
echo "Datenelemente:$item<br>";
}
// 生成分Seite链接
$totalPages = ceil(count($data) / $pageSize);
echo "<div>";
for ($i = 1; $i <= $totalPages; $i++) {
if ($i == $page) {
echo "<strong>$i</strong> ";
} else {
echo "<a href=\"https://gitbox.net/page.php?page=$i\">$i</a> ";
}
}
echo "</div>";
?>
Zugriff auf Seite.Php? Page = 1 Zeigt 10 Datenstücke auf Seite 1 an, auf Seite auf Seite zu greifen. Page = 2 zeigt den Inhalt von Seite 2 und so weiter an.
Unter Verwendung von PHP -Funktion von PHP in Kombination mit einfachen Paging -Berechnungen kann die Paging -Funktion von Arrays problemlos implementiert werden. Obwohl Paging -Daten normalerweise aus einer Datenbank in der tatsächlichen Entwicklung stammen, ist Array_Slice eine sehr leichte und effiziente Lösung für kleine Datensätze oder zwischengespeicherte Daten.
Denken Sie daran, dass der entscheidende Punkt darin besteht, den korrekten Offset $ Offset zu berechnen und die Anzahl der pro Seite angezeigten Balken zu steuern, damit der Paging -Effekt leicht erreicht werden kann.