数据整合处理、分页排序操作

查询多张表获取数据列,数据汇总后的分页排序等操作!

/**
 * 数组分页
 * @param array $arrayData 数组数据
 * @param int   $page      第几页
 * @param int   $pageSize  每页展示条数
 * @return array
 */
function arrayToPageData($arrayData = [], $page = 1, $pageSize = 10)
{
    $arrayData = array_values((array)$arrayData);
    $pageData['list'] = array_slice($arrayData, ($page - 1) * $pageSize, $pageSize);
    $pageData['pagination']['total'] = count($arrayData);
    $pageData['pagination']['page'] = $page;
    $pageData['pagination']['pageSize'] = $pageSize;
    return $pageData;
}

 一种自定义的排序方法:

/**

* list_sort_by()对查询结果集进行排序

* @param array $list 查询结果

* @param string $field 排序的字段名

* @param array $sortby 排序类型

* asc正向排序 desc逆向排序 nat自然排序

* @return array

*/

function list_sort_by($list,$field, $sortby='asc') {

if(is_array($list)){

$refer = $resultSet = array();

foreach ($list as $i => $data)

$refer[$i] = &$data[$field];

switch ($sortby) {

case 'asc': // 正向排序

asort($refer);

break;

case 'desc':// 逆向排序

arsort($refer);

break;

case 'nat': // 自然排序

natcasesort($refer);

break;

}

foreach ( $refer as $key=> $val)

$resultSet[] = &$list[$key];

return $resultSet;

}

return false;

}

 一种用php自带的函数进行多字段的排序方法:

array_multisort(array_column($data, '字段名'), SORT_DESC, array_column($data, '字段名'), SORT_ASC, $data);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值