Ciao,
ho un problema che non riesco a risolvere e sono sicura che si tratta di una cosa di poco conto, ma ci sto girando intorno da una mattinata e non trovo la soluzione...

Ho uno script che richiama una funzione ed esegue il ciclo:

Codice PHP:

// funzione
function trova($mioTitolo){
    
$html file_get_html('http://www....');
    foreach(
$html->find('div#risultati') as $e){
        foreach(
$e->find('span[class=nome]') as $s){
            
$nome $s->plaintext;
            
$nome trim(str_replace("Nome """$nome));
        }
        foreach(
$e->find('a[class=titolo]') as $f){
            
$titolo $f->plaintext;
        }
        
$valore $nome;
        if(
strtolower($titolo) == strtolower($mioTitolo)){
            return 
$valore;
        }
    }
}

// script
// mettiamo che
$titolo = array("titoloA""titoloB""titoloB");

foreach(
$titolo as $value){
    if(
$name == "Name"){
        
$nuovoValore trova($value);
    }else{
        
$nuovoValore "";
    }

    echo 
"Nuovo Valore: ".$nuovoValore;

///*** problema ***///
Nella funzione, "titoloB" e "titoloB", pur essendo uguali, hanno due valori diversi.
Il ciclo li trova:
"titoloB(1)" -> "valore1", "valore2"
"titoloB(2)" -> "valore1", "valore2"
ma per entrambi, stampa solo l'ultimo valore, come se non eseguisse il ciclo.
Forse perché, eseguendo la funzione per ogni titolo, è come se ogni volta incontrasse "titoloB" per la prima volta.
La soluzione sarebbe riuscire a differenziare i due "titoloB", ma al momento non ci sono riuscita. Tutti i tentativi mi hanno portata al medesimo errore, persino i più contorti!

Avete suggerimenti?!

Grazie.