我有一个数组,我想用分页显示数据.
$display_array = Array ( [0] => "0602 xxx2",[1] => "0602 xxx3",[2] => 5 // Total= 2+3 [3] => "0602 xxx3",[4] => "0602 saa4",[5] => 7 // Total = 3+4 )
我尝试过这样的事情
function pagination($display_array,$page) { global $show_per_page; $page = $page < 1 ? 1 : $page; $start = ($page - 1) * $show_per_page; $end = $page * $show_per_page; for($i = $start; $i < $end; $i++) { ////echo $display_array[$i] . "<p>"; // How to manipulate this? // To get the result as I described below. } }
我想做一个分页,得到这样的预期结果:
如果我定义$show_per_page = 2;然后分页($display_array,1);输出:
0602 xxx2 0602 xxxx3 Total:5
和异教徒($display_array,2);输出:
0602 xxx3 0602 saa4 Total:7
如果我定义$show_per_page = 3,那么分页($display_array,1);输出:
0602 xxx2 0602 xxxx3 Total: 5 0602 xxx3
和异教徒($display_array,2);输出:
0602 saa4 Total:7
如果我定义$show_per_page = 4;输出:
0602 xxx2 0602 xxxx3 Total:5 0602 xxx3 0602 saa4 Total: 7
看看这个:
function paganation($display_array,$page) { global $show_per_page; $page = $page < 1 ? 1 : $page; // start position in the $display_array // +1 is to account for total values. $start = ($page - 1) * ($show_per_page + 1); $offset = $show_per_page + 1; $outArray = array_slice($display_array,$start,$offset); var_dump($outArray); } $show_per_page = 2; paganation($display_array,1); paganation($display_array,2); $show_per_page = 3; paganation($display_array,2);
输出为:
// when $show_per_page = 2; array 0 => string '0602 xxx2' (length=9) 1 => string '0602 xxx3' (length=9) 2 => int 5 array 0 => string '0602 xxx3' (length=9) 1 => string '0602 saa4' (length=9) 2 => int 7 // when $show_per_page = 3; array 0 => string '0602 xxx2' (length=9) 1 => string '0602 xxx3' (length=9) 2 => int 5 3 => string '0602 xxx3' (length=9) array 0 => string '0602 saa4' (length=9) 1 => int 7
$show_per_page = 3的输出与您的输出不同,但我不知道您期望什么?你想获取剩下的一切(即’0602 saa4’和7)加上一个以前的元素(即’0602 xxx3′)?