我们的数据未必都是存储在数据库中,很多时候是用数组来组织的。所以获取数组数据,进行分页是比较常见的编程要求。分页的原理很简单,就是按分页数获取某个范围的数据而已,php给我们提供了一个很便利的函数:array_slice()。array_slice() 函数在数组中根据条件取出一段值,并返回。
下面举两个分页例子,都很简单。
public function books($pagenum = 1) { include_once(page.php); include(arr_books.php); foreach ($data['books'] as $key=>$value){ $name[$key] = $value['name']; $rank[$key] = $value['rank']; } array_multisort($rank,sort_numeric,sort_desc,$data['books']); // 倒序 //array_multisort($rank,sort_numeric,sort_asc,$data['books']); // 顺序 $perpage = 10; $count = count($data['books']); $pages = new pageclass($count, $perpage, $pagenum, base_url().'veda/books/{page}/'); $start = ($pagenum - 1) * $perpage; $data['bks'] = array_slice($data['books'], $start, $perpage); $data['nav'] = $pages -> myde_write($pagenum); $this->load->view('header', $data); $this->load->view('books', $data); $this->load->view('footer', $data); }
再来一个:
$perpage = 2;$page = intval(getgpc('page')) ? intval($_g['gp_page']) : 1;$start = ($page - 1) * $perpage;$count = count($group_list);$list = array_slice($group_list, $start, $perpage);$multipage = multi($count, $perpage, $page, home.php?mod=space&do=group&type=.getgpc('type'));
array_slice() 函数array_slice() 函数在数组中根据条件取出一段值,并返回。如果数组有字符串键,所返回的数组将保留键名。
语法:array_slice(array,offset,length,preserve)
参数描述
array 必需。规定输入的数组。
offset 必需。数值。规定取出元素的开始位置。
如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。
length 可选。数值。规定被返回数组的长度。
如果是负数,则从后向前,选取该值绝对值数目的元素。如果未设置该值,则返回所有元素。
preserve 可选。可能的值:
true - 保留键false - 默认 - 重置键
例子 1:
dog,1=>cat,2=>horse,3=>bird);print_r(array_slice($a,1,2));// array ( [0] => cat [1] => horse )?>
例子 2(带有负的 offset 参数):
dog,1=>cat,2=>horse,3=>bird);print_r(array_slice($a,-2,1));// array ( [0] => horse )?>
例子 3(preserve 参数设置为 true):
dog,1=>cat,2=>horse,3=>bird);print_r(array_slice($a,1,2,true));// array ( [1] => cat [2] => horse )?>
例子 4(带有字符串键):
dog,b=>cat,c=>horse,d=>bird);print_r(array_slice($a,1,2));// array ( [b] => cat [c] => horse )?>
http://www.bkjia.com/phpjc/752350.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/752350.htmltecharticle我们的数据未必都是存储在数据库中,很多时候是用数组来组织的。所以获取数组数据,进行分页是比较常见的编程要求。分页的原理很简...