вторая часть скрипта - это пример использования
Я показывал как ведет себя мой код при различных входных данных
Вообщем сначало разберись (если есть желание использовать)
Реальное применение функции get_pages() такое :
$_nav = get_pages($i, $num_of_pages); 
    $nav= ""; 
    if ($_nav[\'is_prev\']) { 
      $nav .= \'<a href="\'.$_nav[\'first\'][\'link\'].\'">\'.$_nav[\'first\'][\'text\'].\'</a> \'; 
      $nav .= \'<a href="\'.$_nav[\'prev\'][\'link\'].\'">\'.$_nav[\'prev\'][\'text\'].\'</a> \'; 
    } 
    if (sizeof($_nav[\'digits\']) != 1) { 
      foreach ($_nav[\'digits\'] as $nv) { 
         if ($nv[\'page\'] != $i) { 
            $nav .= \' <a href="\'.$nv[\'link\'].\'">\'.$nv[\'text\'].\'</a> \'; 
         } else { 
            $nav .= \' <b>[\'.$i.\']</b> \'; 
         } 
      } 
    } 
    if ($_nav[\'is_next\']) { 
      $nav .= \'<a href="\'.$_nav[\'next\'][\'link\'].\'">\'.$_nav[\'next\'][\'text\'].\'</a> \'; 
      $nav .= \'<a href="\'.$_nav[\'last\'][\'link\'].\'">\'.$_nav[\'last\'][\'text\'].\'</a> \'; 
    } 
    // output 
    echo "<hr>".$nav; 
 то есть без цикла
ЗЫ
я уехал на море, так что ближайшую неделю проконсультировать по этому скрипту не смогу