Array_slice est une fonction intégrée en PHP pour extraire un morceau continu d'éléments d'un tableau. Sa syntaxe de base est:
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ Array : le tableau à intercepter
$ Offset : Position de démarrage, 0 signifie partir du premier élément
$ Longueur : la longueur de l'interception. Si ce n'est pas spécifié, la valeur par défaut est à la fin du tableau.
$ Preserve_keys : s'il faut garder le nom clé du tableau d'origine, par défaut à FAUX
Supposons que nous ayons un tableau contenant 100 éléments de données, et maintenant nous devons implémenter la fonction de pagination de l'affichage de 10 éléments de données par page.
Page de page actuelle Page (à partir de 1)
Nombre de caractères affichés par page $ pagesize
Calculez le point de départ de l'interception du tableau $ offset = ($ page - 1) * $ pagesize
Utilisez simplement Array_slice pour intercepter les données de la page actuelle du tableau.
<?php
// Simuler le tableau de données
$data = range(1, 100); // Générer 1 arriver 100 tableau de nombres
// Obtenez le numéro de page actuel,La valeur par défaut est la première 1 Page
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$page = max($page, 1); // 确保Page码不小于 1
// 每Page显示多少条
$pageSize = 10;
// Calculer le décalage
$offset = ($page - 1) * $pageSize;
// utiliser array_slice 截取当前Page的数据
$pageData = array_slice($data, $offset, $pageSize);
// 输出当前Page的数据
foreach ($pageData as $item) {
echo "Éléments de données:$item<br>";
}
// 生成分Page链接
$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>";
?>
Accéder à page.php? Page = 1 affichera 10 éléments de données à la page 1, accéder à page.php? Page = 2 affichera le contenu de la page 2, etc.
En utilisant la fonction Array_Slice de PHP combinée à des calculs de pagination simples, il peut facilement implémenter la fonction de pagination des tableaux. Bien que les données de pagination proviennent généralement d'une base de données dans le développement réel, Array_Slice est une solution très légère et efficace pour les petits ensembles de données ou les données mises en cache.
N'oubliez pas que le point clé consiste à calculer le décalage du décalage correct et à contrôler le nombre de barres affichées par page, afin que l'effet de pagination puisse être facilement réalisé.