在 php 中獲取相鄰頁碼:使用 range() 函數生成特定范圍內的連續值,范圍基于當前頁碼和相鄰頁碼數。編寫自定義函數來處理相鄰頁碼的生成,并返回一個范圍。
PHP 數組分頁:獲取相鄰頁碼
在分頁系統中,顯示相鄰頁碼對于用戶體驗至關重要。本文將介紹在 PHP 中如何獲取相鄰頁碼,并提供一個實戰案例。
方法 1:使用標準庫
PHP 提供了一個 range() 函數,可以生成一個指定范圍內的連續值。我們可以使用此函數獲取相鄰頁碼。
<?php $currentPage = 2; // 當前頁碼 $totalPages = 10; // 總頁數 $adjacentPages = 2; // 顯示的相鄰頁碼數 $startPage = max(1, $currentPage - $adjacentPages); $endPage = min($totalPages, $currentPage + $adjacentPages); $pageNumbers = range($startPage, $endPage);
登錄后復制
方法 2:自定義函數
我們可以編寫一個自定義函數來處理相鄰頁碼的生成。
<?php
function getAdjacentPages($currentPage, $totalPages, $adjacentPages) {
$startPage = max(1, $currentPage - $adjacentPages);
$endPage = min($totalPages, $currentPage + $adjacentPages);
return range($startPage, $endPage);
}
登錄后復制
實戰案例
以下是一個使用相鄰頁碼的分頁導航示例:
<?php
$currentPage = 2;
$totalPages = 10;
$adjacentPages = 2;
$pageNumbers = getAdjacentPages($currentPage, $totalPages, $adjacentPages);
echo "<ul>";
foreach ($pageNumbers as $pageNumber) {
echo "<li><a href='page-$pageNumber.php'>$pageNumber</a></li>";
}
echo "</ul>";
登錄后復制
在這個示例中,如果 $currentPage 為 2,將生成以下頁碼:
[1, 2, 3, 4, 5]
登錄后復制






