不用三个循环,你想复杂了,当前页是$page,那么循环从$start到$stop,开始值$start为$page-5再微调,循环结束页$stop为$page+5的微调,先计算这两个变量,然后一个循环就解决问题了。大致逻辑如下:
//用变量 $page 、 $page_cnt 推到出 $start 、 $stop
$start = $page - 5;
$stop = $page + 5;
if ($start<1){
$stop-=$start;
$start=1;
}
if ($stop>$page_cnt){
$start-=$stop-$page_cnt;
$stop=$page_cnt;
}
if ($start<1) $start=1;
for ($i=$start; $i<=$stop; $i++){
......
}