【PHP】 数组分页函数、根据字段排序并分页
生活随笔
收集整理的這篇文章主要介紹了
【PHP】 数组分页函数、根据字段排序并分页
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
if (!function_exists("pageByArr")) {/*** 數(shù)組分頁函數(shù) 核心函數(shù) array_slice* 用此函數(shù)之前要先將數(shù)據(jù)庫里面的所有數(shù)據(jù)按一定的順序查詢出來存入數(shù)組中* $array 查詢出來的所有數(shù)組* $limit 每頁多少條數(shù)據(jù),默認(rèn)20條* $page 當(dāng)前第幾頁,默認(rèn) 第1頁* order desc - 降序 asc - 升序* $field: 以哪個(gè)字段進(jìn)行排序*/function pageByArr($arr = [], $limit = 20, $page = 1, $order = 'asc', $field = ""){$page = (empty($page)) ? '1' : $page; #判斷當(dāng)前頁面是否為空 如果為空就表示為第一頁面$start = ($page - 1) * $limit; #計(jì)算每次分頁的開始位置$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); #計(jì)算總頁面數(shù)$pagedata = [];$pagedata = array_slice($arr, $start, $limit);return $pagedata; #返回查詢數(shù)據(jù)}}if (!function_exists("arraySortByField")) {/*** 對(duì)數(shù)組進(jìn)行排序* $field: 以哪個(gè)字段進(jìn)行排序* $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;}
}
總結(jié)
以上是生活随笔為你收集整理的【PHP】 数组分页函数、根据字段排序并分页的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【PHP】安装 ssh2 模块
- 下一篇: 【PHP】 获取网站信息