首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 陣列分頁實作完整教學

     編輯:PHP 綜合知識

前言

在不使用資料庫的情況下,對純 PHP 陣列進行分頁是常見需求。本文示範如何結合 array_slice 與 ceil 實現簡潔高效的陣列分頁。

核心程式碼

$arr_click = [
    ['clicks' => 3, 'clickDate' => '2010-10-11'],
    ['clicks' => 2, 'clickDate' => '2010-10-10'],
    // ... 更多資料
];

$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$size = 3; // 每頁筆數
$pnum = ceil(count($arr_click) / $size); // 總頁數

// 切片取得當頁資料
$newarr = array_slice($arr_click, ($page - 1) * $size, $size);

foreach ($newarr as $item) {
    echo $item['clickDate'] . '<br/>';
}

分頁導航生成

// 上一頁
if ($page <= 1) {
    echo '<a href="?page=1">上一頁</a>';
} else {
    echo '<a href="?page=' . ($page - 1) . '">上一頁</a>';
}

// 下一頁
if ($page >= $pnum) {
    echo '<a href="?page=' . $pnum . '">下一頁</a>';
} else {
    echo '<a href="?page=' . ($page + 1) . '">下一頁</a>';
}

進階優化建議

  • 加入頁碼列表(如 1 2 3 ... 10)提升 UX
  • 使用 max(1, min($page, $pnum)) 修正非法頁碼
  • 將分頁邏輯封裝為可復用函式或類
  • 結合 AJAX 實現無刷新分頁

適用場景

靜態配置陣列、API 回傳資料集、快取資料分頁等無需資料庫查詢的場合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved