In der tatsächlichen Entwicklung müssen wir häufig ein großes zweidimensionales Array-Paging anzeigen, z. B. auf einer Liste der Listenanzeige. PHP bietet eine sehr praktische Funktion array_chunk () , die ein großes Array in mehrere kleine Arrays aufteilen kann. In diesem Tutorial lernen wir, wie Sie die Funktion array_chunk () verwenden, um ein großes 2D -Array zu paginieren.
Nehmen wir an, wir haben ein großes zweidimensionales Array, das viele Benutzerprofilinformationen enthält. Wir möchten diese Informationen Seite mit 5 Datensätzen anzeigen, die auf jeder Seite angezeigt werden. Wir werden Array_Chunk () verwenden, um diese Funktion zu implementieren.
Bereiten Sie ein großes 2D -Array vor
Angenommen, wir haben ein zweidimensionales Array von 20 Datensätzen, wobei jeder Datensatz eine Benutzerinformation ist:
<?php
$users = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
['id' => 4, 'name' => 'David', 'email' => 'david@m66.net'],
['id' => 5, 'name' => 'Eve', 'email' => 'eve@m66.net'],
['id' => 6, 'name' => 'Frank', 'email' => 'frank@m66.net'],
['id' => 7, 'name' => 'Grace', 'email' => 'grace@m66.net'],
['id' => 8, 'name' => 'Hannah', 'email' => 'hannah@m66.net'],
['id' => 9, 'name' => 'Ivy', 'email' => 'ivy@m66.net'],
['id' => 10, 'name' => 'Jack', 'email' => 'jack@m66.net'],
['id' => 11, 'name' => 'Kevin', 'email' => 'kevin@m66.net'],
['id' => 12, 'name' => 'Lily', 'email' => 'lily@m66.net'],
['id' => 13, 'name' => 'Mason', 'email' => 'mason@m66.net'],
['id' => 14, 'name' => 'Nina', 'email' => 'nina@m66.net'],
['id' => 15, 'name' => 'Oscar', 'email' => 'oscar@m66.net'],
['id' => 16, 'name' => 'Paul', 'email' => 'paul@m66.net'],
['id' => 17, 'name' => 'Quincy', 'email' => 'quincy@m66.net'],
['id' => 18, 'name' => 'Rachel', 'email' => 'rachel@m66.net'],
['id' => 19, 'name' => 'Sam', 'email' => 'sam@m66.net'],
['id' => 20, 'name' => 'Tina', 'email' => 'tina@m66.net']
];
?>
Paginierung mit Array_Chunk ()
Die Funktion array_chunk () unterteilt ein Array in mehrere Subtarrays einer bestimmten Größe. Wir können die Datensätze auf jeder Seite auf 5 einschränken und auf Seiten anzeigen:
<?php
// Pro Seite angezeigt 5 Aufzeichnen
$page_size = 5;
// verwenden array_chunk() Teilen Sie große Arrays in mehrere kleine Arrays auf
$paged_users = array_chunk($users, $page_size);
// Ausgabe von PAGED -Benutzerinformationen
echo '<pre>';
print_r($paged_users);
echo '</pre>';
?>
Auf diese Weise ist $ PAGED_USERS ein zweidimensionales Array, jedes Subarray enthält 5 Benutzerdatensätze. Die erste Seite zeigt beispielsweise 5 Datensätze, die zweite Seite zeigt die nächsten 5 Datensätze und so weiter.
Paginierungsanzeige
Angenommen, wir müssen Benutzerinformationen auf jeder Seite auf der Webseite anzeigen. Wir können Paging -Links dynamisch erstellen, indem wir die aktuelle Anzahl der Seiten und die Gesamtzahl der Seiten berechnen.
<?php
$total_pages = count($paged_users);
$current_page = 1; // Angenommen, es ist die erste Seite
// Zeigen Sie Benutzerinformationen auf der aktuellen Seite an
echo 'Aktuelle Seite:' . $current_page . '<br>';
foreach ($paged_users[$current_page - 1] as $user) {
echo 'ID: ' . $user['id'] . ',Name: ' . $user['name'] . ',Post: ' . $user['email'] . '<br>';
}
// Paging -Links anzeigen
echo '<br>Paginierungsverbindung:<br>';
for ($i = 1; $i <= $total_pages; $i++) {
echo '<a href="page.php?page=' . $i . '">1.' . $i . 'Seite</a> ';
}
?>
Hier gehen wir davon aus, dass die aktuelle Anzahl der Seiten durch Abfragen der Zeichenfolge bestimmt wird (z. B. Seite.php? Seite = 1 ). Durch dynamisches Generieren von Links können Benutzer auf verschiedene Seiten klicken, um entsprechende Daten anzuzeigen.