在 php 中獲取相鄰頁(yè)碼:使用 range() 函數(shù)生成特定范圍內(nèi)的連續(xù)值,范圍基于當(dāng)前頁(yè)碼和相鄰頁(yè)碼數(shù)。編寫自定義函數(shù)來(lái)處理相鄰頁(yè)碼的生成,并返回一個(gè)范圍。
PHP 數(shù)組分頁(yè):獲取相鄰頁(yè)碼
在分頁(yè)系統(tǒng)中,顯示相鄰頁(yè)碼對(duì)于用戶體驗(yàn)至關(guān)重要。本文將介紹在 PHP 中如何獲取相鄰頁(yè)碼,并提供一個(gè)實(shí)戰(zhàn)案例。
方法 1:使用標(biāo)準(zhǔn)庫(kù)
PHP 提供了一個(gè) range()
函數(shù),可以生成一個(gè)指定范圍內(nèi)的連續(xù)值。我們可以使用此函數(shù)獲取相鄰頁(yè)碼。
<?php $currentPage = 2; // 當(dāng)前頁(yè)碼 $totalPages = 10; // 總頁(yè)數(shù) $adjacentPages = 2; // 顯示的相鄰頁(yè)碼數(shù) $startPage = max(1, $currentPage - $adjacentPages); $endPage = min($totalPages, $currentPage + $adjacentPages); $pageNumbers = range($startPage, $endPage);
登錄后復(fù)制
方法 2:自定義函數(shù)
我們可以編寫一個(gè)自定義函數(shù)來(lái)處理相鄰頁(yè)碼的生成。
<?php function getAdjacentPages($currentPage, $totalPages, $adjacentPages) { $startPage = max(1, $currentPage - $adjacentPages); $endPage = min($totalPages, $currentPage + $adjacentPages); return range($startPage, $endPage); }
登錄后復(fù)制
實(shí)戰(zhàn)案例
以下是一個(gè)使用相鄰頁(yè)碼的分頁(yè)導(dǎo)航示例:
<?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>";
登錄后復(fù)制
在這個(gè)示例中,如果 $currentPage
為 2,將生成以下頁(yè)碼:
[1, 2, 3, 4, 5]
登錄后復(fù)制