Código PHP:
Ver original<?php
...
// Genero enlaces:
foreach (range(1,5) $ n
){      echo "<a href=\"link.php?numero=$n\">Pagina $n</a>";
}
  
   
Código PHP:
Ver original// en Link.php  (otra pagina)
<?php
$enlace = (isset($_GET['numero'] ? 
$_GET['numero'] : null);  
echo $enlace; // aca ya tienes el numero enviado
  
----------  
OTRA SOLUCION... seria crear el "tipo rango" que pues puedes ir mejorando con agregados.. te muestro como funcionaria:    
Código PHP:
Ver original<?php 
include "range_lib.php";
 
$rango = new Range(1,10);  
foreach ($rango as $valor){
    echo "$valor<br/>";
}
 
// Salida: 1<br/>2<br/>3<br/>4<br/>5<br/>6<br/>7<br/>8<br/>9<br/>10<br/>
 
echo $rango;   // salida:  1 2 3 4 5 6 7 8 9 10
echo str_replace (' ',' ,',$rango);    // salida:  1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 
  
     
Código PHP:
Ver original<?php 
// Esta clase estaria en RANGE_LIB.PHP
 
Class Range implements Iterator 
{  
    private $_arr = [];
    private $_ini  = null;
    private $_end  = null;
    private $_step = null;
 
    public function __construct($a,$b,$step=null){        
        $this->_ini  = $a;
        $this->_end  = $b;
        $this->_step = ($step == null ? 1 : $step);
        $this->_arr  
= range($this->_ini
,$this->_end
,$this->_step
);     }
 
    public function getArray(){
        return $this->_arr;
    }
 
    public function __toString(){        
        $out = null; 
 
        foreach ($this->_arr as $val)
            $out .= "$val ";
     
           
    }
 
    /* Implemento interface Iterator  */
 
    {        
    }
 
    {
        return $elem;
    }
 
    {
        $elem = next($this->_arr
);                 return $elem;
    }
      
    {     
        return $key;
    }
  
    public function valid()
    {
        $elem = ($key !== NULL && $key !== FALSE);        
        return $elem;
    }  
 
} // endClass