Aktueller Standort: Startseite> Neueste Artikel> So paginieren Sie ein 2D -Array durch Array_Chunk

So paginieren Sie ein 2D -Array durch Array_Chunk

M66 2025-04-25

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.

Beispielszenario

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.

Schritt:

  1. 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']
    ];
    ?>
    
  2. 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.

  3. 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.