直接上代码(二维数组自定义排序,array_multisort函数了解一下):
// 根据样板门店、距离先后顺序排序(新增排序参数这里添加即可)-$data:二维数组 $modeStor和$distance当前需要排序的参数,一维数组 array_multisort($modelStore, SORT_ASC, $distance, SORT_ASC, $data);
这个参数比较方便,可以收藏一下。
二维数组分页的话laravel框架很多功能都是有的,直接用就可以了:
/**
* 二维数组重新分页
*
* @param array $data 二维数组
* @param int $perPage page页数
* @param int $page size数量
* @return array
*/
function arrayRepave(array $data, int $perPage = 10, int $page = 1)
{
// 对数组 重组后分页
$offset = ($page * $perPage) - $perPage; //计算每页分页的初始位置
// 实例化LengthAwarePaginator类,并传入对应的参数
$data = new LengthAwarePaginator(array_slice($data, $offset, $perPage, true), count($data), $perPage, $page, ['path' => request()->url(), 'query' => request()->query()]);
// 重新组装一下,分页后重新获取一下value的值
return [
'data' => array_values($data->items()) ?? [],
'meta' => [
'total' => (int)$data->total(),
'size' => (int)$perPage,
'page' => (int)$page
]
];
}
直接拉过就可以用,直接封装到helpers里面就可以了。
推荐