php数组根据数值排序,onethink php数组根据数值字段排序函数

此篇博客详细介绍了PHP中用于首页数据排序(按评论数量)的`remenwenti`函数,以及列表页分页并按数据量排序的`remenliebiao`方法。同时涵盖了一种数值字段排序的通用处理函数`remenpaixu`。核心内容涉及数据筛选、计数和智能展示。
摘要由CSDN通过智能技术生成

/*首页显示五条数据排序函数*/

public function remenwenti(){

$remenwenti = M('AqWen')->order('id desc')->select();

foreach ($remenwenti as $key => $value) {

$num = M('AqDa')->where(array('wen_id'=>$value['id']))->count();

$remenwenti[$key]['num'] = $num;

$remenwenti[$key]['tag'] = explode(",",$value['tag']);

}

$remenlist = remenpaixu($remenwenti, 'num');//热门排序处理

$this->remenwenti = array_slice($remenlist,0,5);//问答栏目首页热门显示5条处理

}

/*列表页分页排序处理*/

public function remenliebiao(){

$remenwenti = M('AqWen');

$count = $remenwenti->field(true)->count();// 查询满足要求的总记录数

$Page = new \Think\Page($count,50);// 实例化分页类 传入总记录数和每页显示的记录数(25)

$show = $Page->show();// 分页显示输出

// 进行分页数据查询 注意limit方法的参数要使用Page类的属性

$list = $remenwenti->field(true)->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();

foreach ($list as $key => $value) {

$num = M('AqDa')->where(array('wen_id'=>$value['id']))->count();

$list[$key]['num'] = $num;

}

$remenlist = remenpaixu($list, 'num');//热门排序处理

$this->assign('wenDaList',$remenlist);// 赋值数据集

$this->assign('page',$show);// 赋值分页输出

$this->display();

}

/*数值字段排序处理函数*/

function remenpaixu($arr,$field){

$sort = array(

'direction' => 'SORT_DESC', //排序顺序标志 SORT_DESC 降序; SORT_ASC 升序

'field' => $field, //排序字段

);

$arrSort = array();

foreach($arr as $uniqid => $row){

foreach($row as $key=>$value){

$arrSort[$key][$uniqid] = $value;

}

}

if($sort['direction']){

array_multisort($arrSort[$sort['field']], constant($sort['direction']), $arr);

}

return $arr;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值