在 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]
登錄后復制