Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Array_Slice, um die Array -Paging -Navigationslogik zu implementieren

Verwenden Sie Array_Slice, um die Array -Paging -Navigationslogik zu implementieren

gitbox 2025-05-29

In der Webentwicklung ist Paging eines der häufigsten Merkmale. Unabhängig davon, ob Artikellisten, Produktkataloge oder Benutzerbewertungen angezeigt werden, ist Pagination eine effiziente Lösung, um ein langsames Laden von Seiten zu vermeiden, da übermäßiges Daten geladen wird.

PHP liefert eine sehr praktische Funktion Array_Slice () , die leicht einen Teil der Elemente aus einem Array extrahieren kann. Wenn wir diese Funktion kombinieren, können wir problemlos eine grundlegende Array -Paging -Navigationsfunktion implementieren. In diesem Artikel werden Sie Schritt für Schritt implementieren.

1. Verstehen Sie die Funktion array_slice

Die grundlegende Syntax von Array_Slice () lautet wie folgt:

 array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
  • $ Array : Originalarray

  • $ offset : Startposition (Start ab 0)

  • $ Länge : Optionaler Parameter, Anzahl der zurückgegebenen Elemente

  • $ PREISERVE_KEYS : Ob Sie den ursprünglichen Schlüsselnamen beibehalten, standardmäßig False

2. Beispieldaten

Angenommen, wir haben ein Array mit mehreren Artikel -Titeln:

 $articles = [
    "Artikel 1", "Artikel 2", "Artikel 3", "Artikel 4", "Artikel 5",
    "Artikel 6", "Artikel 7", "Artikel 8", "Artikel 9", "Artikel 10"
];

Wir möchten, dass 3 Artikel pro Seite angezeigt werden.

3.. Paging -Logik -Implementierung

Zuerst müssen wir wissen, auf welcher Seite wir uns derzeit befinden, und dann den entsprechenden Offset basierend auf der Seitennummer berechnen.

 <?php
$articles = [
    "Artikel 1", "Artikel 2", "Artikel 3", "Artikel 4", "Artikel 5",
    "Artikel 6", "Artikel 7", "Artikel 8", "Artikel 9", "Artikel 10"
];

$perPage = 3;
$totalArticles = count($articles);
$totalPages = ceil($totalArticles / $perPage);

// Holen Sie sich die aktuelle Seitennummer
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
if ($page < 1) $page = 1;
if ($page > $totalPages) $page = $totalPages;

// Berechnen Sie den Offset der aktuellen Seite
$offset = ($page - 1) * $perPage;

// verwenden array_slice Holen Sie sich die Daten der aktuellen Seite
$currentPageArticles = array_slice($articles, $offset, $perPage);
?>

4. Zeigen Sie den Seiteninhalt an

Als nächstes geben wir die Daten der aktuellen Seite auf die Seite aus:

 <ul>
<?php foreach ($currentPageArticles as $article): ?>
    <li><?php echo htmlspecialchars($article); ?></li>
<?php endforeach; ?>
</ul>

5. Generieren Sie Paging Navigation Links

Am Ende der Seite müssen wir auch einen Link "Seitungsum" hinzufügen:

 <div class="pagination">
    <?php if ($page > 1): ?>
        <a href="https://gitbox.net/pagination.php?page=<?php echo $page - 1; ?>">Vorherige Seite</a>
    <?php endif; ?>

    <?php for ($i = 1; $i <= $totalPages; $i++): ?>
        <?php if ($i == $page): ?>
            <strong><?php echo $i; ?></strong>
        <?php else: ?>
            <a href="https://gitbox.net/pagination.php?page=<?php echo $i; ?>"><?php echo $i; ?></a>
        <?php endif; ?>
    <?php endfor; ?>

    <?php if ($page < $totalPages): ?>
        <a href="https://gitbox.net/pagination.php?page=<?php echo $page + 1; ?>">Nächste Seite</a>
    <?php endif; ?>
</div>

6. Zusammenfassung

Durch Array_Slice () und einige grundlegende Paging -Logik können wir jedem Array -Inhalt Paging -Funktion hinzufügen. Diese Methode eignet sich für Szenarien, in denen das Datenvolumen gering ist und kein Datenbankvorgang erforderlich ist, z. B. statische Inhaltslisten, zwischengespeicherte Daten oder Konfigurationselemente usw. Für größere Daten wird empfohlen, die Grenzklausel der Datenbank für Pagination -Abfrage zu verwenden.

Mastering Array_Slice () ist ein wichtiger Schritt zum Erstellen effizienter PHP -Anwendungen. Ich hoffe, dieser Artikel ist für Sie hilfreich!