//排序 1正序2倒序
if (isset($data['upvote_type'])){
$orderStr = 'upvote';
$orderType = $data['upvote_type'] == '1' ? SORT_ASC : SORT_DESC;
}elseif (isset($data['brower_type'])){
$orderStr = 'brower';
$orderType = $data['brower_type'] == '1' ? SORT_ASC : SORT_DESC;
}elseif (isset($data['comment_type'])){
$orderStr = 'comment';
$orderType = $data['comment_type'] == '1' ? SORT_ASC : SORT_DESC;
}elseif (isset($data['collect_type'])){
$orderStr = 'collect';
$orderType = $data['collect_type'] == '1' ? SORT_ASC : SORT_DESC;
}elseif (isset($data['share_type'])){
$orderStr = 'share';
$orderType = $data['share_type'] == '1' ? SORT_ASC : SORT_DESC;
}
if (!empty($orderType) && !empty($orderStr)) {
$sortArr = array_column($dataItems, $orderStr);
array_multisort($sortArr, $orderType, $dataItems);
}
$page = $data['page'];
$limit = $data['page_size'];
$pageNum = ($page-1)*$limit;
$total = count($dataItems);
$dataItems = array_slice($dataItems, $pageNum, $limit);
$currentPage = (int)$page;
$lastPage = CommonLogic::getInstance()->getTotalPage($total, $limit);
// dump($dataItems);die();
return ['data'=>$dataItems,'curr_page'=>$currentPage,'last_page'=>$lastPage,'total'=>$total];
/**
* 获取总页数
* @param $total
* @param int $size
* @return int
*/
public function getTotalPage($total, $size = CommonConst::PAGE_SIZE) {
if ($total < $size) {
$totalPage = 1;
} elseif ($total % $size > 0) {
$totalPage = intval($total / $size) + 1;
} else {
$totalPage = intval($total / $size);
}
return $totalPage;
}
tp数据排序,分片处理分页
最新推荐文章于 2024-06-05 15:44:33 发布