网站首页php
PHP二维数组按值排序及按分页取数据
发布时间:2018-08-11 11:36:07编辑:slayer.hover阅读(2856)
项目中遇到无法直接用SQL排序分页取到的数据, 可以先存入PHP数组中,再进行处理。
如下所示:
<?php #通过加工,得到以下的统计数据表。 $rows = [ 0=>[ 'title' => '机构一', 'tongji1' => 100, 'tongji2' => 200, 'tongji3' => 300, 'tongji4' => 400, ], 1=>[ 'title' => '机构二', 'tongji1' => 400, 'tongji2' => 300, 'tongji3' => 200, 'tongji4' => 100, ], ]; ?>
一、处理排序,可分别按tongji1|tongji2|tongji3|tongji4排序
$sort = 'tongji1'; $order = 'desc'; $order = ($order=='desc') ? SORT_DESC : SORT_ASC; array_multisort(array_column($rows, $sort), $order, $rows);
二、取分页数据
$page = 1; $limit = 10; $offset = ($page-1) * $limit; $data = array_slice($rows, $offset, $limit);
最终的$data就是取到的已排序的当前页数据, 此方法适用于结果数据量不是很大的统计并排序场景。
评论