$last){ $page = $last; } $start = ( ( $page - $links ) > 0 ) ? $page - $links : 1; $end = ( ( $page + $links ) < $last ) ? $page + $links : $last; if ($start > 1) { $pages_list[] = 1; $pages_list[] = ''; } for ($i = $start; $i <= $end; $i++) { $pages_list[] = $i; } if ($end < $last) { $pages_list[] = ''; $pages_list[] = $last; } return array('total_pages'=>$last, 'cur_page'=>$page, 'per_page'=>$per_page, 'pages_list'=>$pages_list); } } }