Position actuelle: Accueil> Derniers articles> Comment utiliser Array_Chunk pour traiter les données du fichier CSV et les afficher sur les pages

Comment utiliser Array_Chunk pour traiter les données du fichier CSV et les afficher sur les pages

M66 2025-04-27

Dans le travail de développement quotidien, nous devons souvent traiter une grande quantité de données de fichiers CSV et les afficher sur la page. PHP offre de nombreuses fonctions puissantes pour nous aider à effectuer ces tâches efficacement, parmi lesquelles Array_Chunk est une fonction très pratique.

Cet article vous mènera étape par étape à travers un exemple montrant comment utiliser Array_Chunk pour traiter les données du fichier CSV et l'afficher paginée.

1. Comprendre la fonction Array_Chunk

Tout d'abord, nous devons comprendre l'utilisation de base de la fonction Array_Chunk . La fonction Array_Chunk divise un tableau en plusieurs petits tableaux, et la taille de chaque petit tableau est déterminée par le deuxième paramètre spécifié.

grammaire:

 array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] )
  • $ Array : le tableau d'origine qui doit être divisé.

  • $ Taille : la taille de chaque tableau après la séparation.

  • $ Preserve_keys : s'il faut conserver le nom de clé du tableau d'origine, la valeur par défaut est fausse , indiquant que le nom de clé de réinitialisation est un entier continu.

2. Étapes pour traiter les fichiers CSV et les afficher sur les pages

Ensuite, nous utiliserons PHP pour traiter les fichiers CSV, segmenter les données et implémenter la fonction de l'affichage de la pagination.

1. Lire le fichier CSV

Supposons d'abord que nous ayons un fichier CSV qui stocke les informations utilisateur ou d'autres types de données. Nous devons lire ce fichier et le convertir en un tableau PHP.

 <?php
// Lire CSV document
$file = 'data.csv';  // Hypothèses CSV document名为 data.csv
$data = array();

if (($handle = fopen($file, 'r')) !== false) {
    while (($row = fgetcsv($handle)) !== false) {
        $data[] = $row;  // Enregistrez chaque rangée de données dans un tableau
    }
    fclose($handle);
} else {
    die('document打开失败!');
}
?>

2. Utilisez Array_Chunk pour diviser les données

Supposons que nous voulons afficher 10 enregistrements par page, nous pouvons utiliser la fonction Array_Chunk pour diviser les données en 10 blocs par page.

 <?php
// Affiché par page 10 Données
$page_size = 10;
$data_chunked = array_chunk($data, $page_size);
?>

À ce stade, le tableau $ data_chunked contiendra plusieurs petits tableaux, chaque petit tableau contenant jusqu'à 10 éléments de données.

3. Implémentez la fonction de pagination

Ensuite, nous devons implémenter la fonction de pagination. En interrogeant les paramètres d'URL, déterminez la page actuelle, puis affichez les données de la page correspondante.

 <?php
// Obtenez le numéro de page actuel,La valeur par défaut est 1
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$total_pages = count($data_chunked);  // Nombre de pages totales

// Si les paramètres de la page ne sont pas valides,La première page s&#39;affiche par défaut
if ($page < 1 || $page > $total_pages) {
    $page = 1;
}

// Obtenez les données de la page actuelle
$current_page_data = $data_chunked[$page - 1];
?>

4. Afficher les données de la page actuelle

Maintenant, nous pouvons afficher les données sur la page actuelle. En supposant que chaque élément de données est une information utilisateur, nous pouvons afficher ces données sur une page Web.

 <?php
echo "<h2>Numéro actuel $page Données de page:</h2>";

echo "<table border='1'>";
echo "<tr><th>nom d&#39;utilisateur</th><th>Mail</th><th>Téléphone</th></tr>";

foreach ($current_page_data as $row) {
    echo "<tr>";
    echo "<td>" . htmlspecialchars($row[0]) . "</td>";
    echo "<td>" . htmlspecialchars($row[1]) . "</td>";
    echo "<td>" . htmlspecialchars($row[2]) . "</td>";
    echo "</tr>";
}

echo "</table>";
?>

5. Montrer la navigation de pagination

Enfin, nous devons afficher la navigation de pagination en bas de la page afin que l'utilisateur puisse parcourir d'autres pages.

 <?php
// Afficher la navigation de pagination
echo "<div>";
if ($page > 1) {
    echo "<a href='?page=" . ($page - 1) . "'>Page précédente</a> ";
}
echo "Page actuelle:$page / $total_pages ";
if ($page < $total_pages) {
    echo "<a href='?page=" . ($page + 1) . "'>Page suivante</a>";
}
echo "</div>";
?>

6. Exemple de code complet

En combinant tous les codes ci-dessus, le code d'échantillon PHP complet est le suivant:

 <?php
// Lire CSV document
$file = 'data.csv';  // Hypothèses CSV document名为 data.csv
$data = array();

if (($handle = fopen($file, 'r')) !== false) {
    while (($row = fgetcsv($handle)) !== false) {
        $data[] = $row;  // Enregistrez chaque rangée de données dans un tableau
    }
    fclose($handle);
} else {
    die('document打开失败!');
}

// Affiché par page 10 Données
$page_size = 10;
$data_chunked = array_chunk($data, $page_size);

// Obtenez le numéro de page actuel,La valeur par défaut est 1
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$total_pages = count($data_chunked);  // Nombre de pages totales

// Si les paramètres de la page ne sont pas valides,La première page s&#39;affiche par défaut
if ($page < 1 || $page > $total_pages) {
    $page = 1;
}

// Obtenez les données de la page actuelle
$current_page_data = $data_chunked[$page - 1];

// 显示Page actuelle的数据
echo "<h2>Numéro actuel $page Données de page:</h2>";

echo "<table border='1'>";
echo "<tr><th>nom d&#39;utilisateur</th><th>Mail</th><th>Téléphone</th></tr>";

foreach ($current_page_data as $row) {
    echo "<tr>";
    echo "<td>" . htmlspecialchars($row[0]) . "</td>";
    echo "<td>" . htmlspecialchars($row[1]) . "</td>";
    echo "<td>" . htmlspecialchars($row[2]) . "</td>";
    echo "</tr>";
}

echo "</table>";

// Afficher la navigation de pagination
echo "<div>";
if ($page > 1) {
    echo "<a href='?page=" . ($page - 1) . "'>Page précédente</a> ";
}
echo "Page actuelle:$page / $total_pages ";
if ($page < $total_pages) {
    echo "<a href='?page=" . ($page + 1) . "'>Page suivante</a>";
}
echo "</div>";
?>

3. Résumé et compétences

Grâce à l'exemple ci-dessus, nous comprenons comment utiliser la fonction Array_Chunk de PHP pour diviser les données dans un fichier CSV en plusieurs petits tableaux et combiner la fonction de pagination pour afficher les données sur une page Web. Dans les applications réelles, en plus de la logique de pagination de base, l'expérience utilisateur peut également être améliorée via les données de chargement de l'Ajax, l'ajout de fonctions de recherche, etc.

J'espère que cet article peut vous aider à mieux traiter les données de fichiers CSV dans les projets réels et à réaliser une fonction d'affichage de pagination efficace!