Ho risolto tamponando cosi, ma perchè non va il primo metodo?
Codice PHP:
function setNumber($items,$n

     
    global 
$cfg;
    global 
$return;
     
    
$i $items $n
     
    if(
$i <= $cfg['default'] ) 
    { 
        
$return =  $n# ok 
    
} else { 
        
$n++; 
        
setNumber($items,$n); 
    } 



setNumero(10,2); # questo è null

var_dump($return); # questo è ok