有时候需要对数组进行按分页处理,之前的做法是计算出数组大小,按分页计算出偏移量,再从起始偏移量处开始遍历页大小个数据。现在不用这么麻烦了,原来php函数里有个现成的函数
array_chunk
可以配合我们实现对数组进行分页。
array_chunk
将一个数组分割成多个
说明
array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] )
将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少于 size 个。
示例代码
$page = isset($_GET[\'page\'])?(int)$_GET[\'page\']:1;
$pageSize = 3;
$arr = [1,2,3,4,5,6,7,8,9,10];
$totalPages = ceil(count($arr)/$pageSize);
$data = array_chunk($arr, $pageSize);
$msg = \'\';
$result = [];
if($page >= $totalPages) {
$msg = \'没有更多数据啦!\';
} else {
$result = $data[$page-1];
}
echo json_encode([\'error\'=>0, \'data\'=>$result, \'msg\'=>$msg]);
exit();
执行结果
总结
有时碰到对数组进行分页时,可以用该函数快速实现。