salve a tutti, avrei bisogno di un aiuto su questa funzione ricorsiva:

Codice PHP:
$se_info['current_t'] = 0;

function 
search_here($page){
    global 
$se_info;

    if(
preg_match("#<table.*?class=\"main_content\">.*?</table>#i"$page$array))
        
preg_match_all("#<td class=t><b title=\"(.*?)\"><a.*?\?t=(\d*).*?>#i"$array[0], $trk);

    
$glob array_create($trk);// questa funzione riordina l'array impostando gli indici con valore progressivo a $se_info['current_t']

    
$se_info['current_t'] += count($trk[0]); // imposta gli indici in array_create() per la funzione ricorsiva

    
if(($se_info['current_t'] < $se_info['t']) && ($se_info['current_t_page'] < $se_info['pages'])){//$se_info['t'] è estratto da un'altra funzione e rappresenta il numero totale di records, $se_info['pages'] è estratto da un'altra funzione e rappresenta il numero totale di pagine presenti
        
++$se_info['current_t_page'];
        
$search_query = array("page" => array("st" => "search_editbox"));
        
$page back_to_basic($search_query$se_info['current_t_page']);// mediante curl prendo il codice sorgente della pagina successiva se presente o neccessaria

        
search_here($page);// ricorsione 
    
}

    
//return;


mi restituisce l'errore "Undefined variable: trk ... on line 56 ( la riga $glob = array_create($trk); ),

anche con un semplice count($trk); restituisce l'errore

ovviamente l'errore è dato al momento della ricorsione (ossia il primo set di risultati me li processa correttamente, il secondo no)

da cosa può dipendere?

p.s.: l'espressione regolare non è corretta in quanto il tag PHP mi toglie alcuni slash