<?php //调试输出信息 $pageCount=15; for($i=1;$i<=$pageCount;$i++){ dump(GetPageRange($i,$pageCount),$i); } //$currentPage 当前页码 //$pageCount 总页数 //$leftSize 左侧页码范围 //$rightSize 右侧页码范围 //返回页码区间数组 function GetPageRange($currentPage,$pageCount,$leftSize=3,$rightSize=4) { if($pageCount<=0 || $leftSize<0 || $rightSize<0){ return array(); }else{ $startPage=$currentPage; $endPage=$currentPage; while($leftSize>0){ if($startPage<=1) break; $startPage--; $leftSize--; } while($rightSize>0){ if($endPage>=$pageCount) break; $endPage++; $rightSize--; } } return range($startPage,$endPage); } //调试输出信息 //$array 页码区间数组 //$currentPage 当前页码 function dump($array,$currentPage=0){ echo "<div style='clear:both;height:30px;'>"; echo "<li style="float:left;" mce_style="float:left;">当前页是:<span style='width:30px;color:red;font-weight:bold;'>".$currentPage."</span>分页区间显示为:</li>"; for($i=0;$i<count($array);$i++){ echo "<li style='list-style:none;float:left;width:30px;'>"; if($array[$i]==$currentPage) { echo "<span style='color:999;background:#000;border:1px #eee solid;width:24px;text-align:center;'>".$array[$i]."</span>"; }else{ echo "<span style='border:1px #ccc solid;width:24px;text-align:center;'>".$array[$i]."</span>"; } echo "</li>"; } echo "</div>"; } ?>