今天闲来无事,写了一个数组分页函数,分享给大家,还不是特别完善,函数很简单,有很大的空间可以自由发挥~~~
函数体:
/* * @array 所有数据 * @start_page 开始页数 * @page_size 每页数量 */ function array_page($array,$start_page=1,$page_size=5) { $array_count = count($array); //数据总数 $page_count = ceil($array_count/$page_size); //总页数 $start_page = ($start_page < $page_count) ? $start_page : $page_count; //保证接收来的$start_page在合法的范围内 $prev = (($start_page - 1) > 0) ? ($start_page - 1) : 1; //上一页 $next = (($start_page + 1) <= $page_count) ? ($start_page + 1) : $page_count; //下一页 $return_array=array_slice($array,($start_page-1) * $page_size,$page_size); //当前页面显示的数据 $page="当前第{$start_page}页<a href='?page=1'>首页</a> <a href='?page={$prev}'>上一页</a> <a href='?page={$next}'>下一页</a> <a href='?page={$page_count}'>尾页</a> 总{$page_count}页"; $return = array('content'=>$return_array,'page'=>$page); //content当前页面显示的内容,page分页 return $return; }
调用实例:
$array=array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"); //所有数据 $start_page = isset($_GET['page'])?$_GET['page']:1; //当前页 $page_size = 3; //每页显示3条数据 $return = array_page($array,$start_page,$page_size); foreach($return['content'] as $content){ echo $content . '<br>'; } echo '<hr>'; echo $return['page'];