【PHP】 数组分页函数、根据字段排序并分页
生活随笔
收集整理的這篇文章主要介紹了
【PHP】 数组分页函数、根据字段排序并分页
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
if (!function_exists("pageByArr")) {/*** 數組分頁函數 核心函數 array_slice* 用此函數之前要先將數據庫里面的所有數據按一定的順序查詢出來存入數組中* $array 查詢出來的所有數組* $limit 每頁多少條數據,默認20條* $page 當前第幾頁,默認 第1頁* order desc - 降序 asc - 升序* $field: 以哪個字段進行排序*/function pageByArr($arr = [], $limit = 20, $page = 1, $order = 'asc', $field = ""){$page = (empty($page)) ? '1' : $page; #判斷當前頁面是否為空 如果為空就表示為第一頁面$start = ($page - 1) * $limit; #計算每次分頁的開始位置$order = strtoupper($order);if (empty($field)) {if ($order == 'DESC') {$arr = array_reverse($arr);}} else {$arr = arraySortByField($arr, $field, $order);}$totals = count($arr);$countpage = ceil($totals / $limit); #計算總頁面數$pagedata = [];$pagedata = array_slice($arr, $start, $limit);return $pagedata; #返回查詢數據}}if (!function_exists("arraySortByField")) {/*** 對數組進行排序* $field: 以哪個字段進行排序* $order: 排序方式 asc/desc*/function arraySortByField($arr = [], $field = "", $order = 'asc'){$order = strtoupper($order);if ('ASC' == $order) {array_multisort(array_column($arr, $field), SORT_ASC, $arr);}if ('DESC' == $order) {array_multisort(array_column($arr, $field), SORT_DESC, $arr);}return $arr;}
}
總結
以上是生活随笔為你收集整理的【PHP】 数组分页函数、根据字段排序并分页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【PHP】安装 ssh2 模块
- 下一篇: 【Echarts 3.x】填坑记