Problema ciclo/array dentro funzione

di il
2 risposte

Problema ciclo/array dentro funzione

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:


// funzione
function trova($mioTitolo){
    $html = file_get_html('pagWeb');
    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.

2 Risposte

  • Re: Problema ciclo/array dentro funzione

    Ciao,

    Se non Sbaglio puoi fare coì...
    // script
    // mettiamo che
    $titolo = array("titoloA", "titoloB", "titoloB");
    
    foreach($titolo as $value){
        if($name == "Name"){
            $nuovoValore = trova($value);
        }else{
            $nuovoValore = "";
        }
    
        echo "Nuovo Valore: ".$value;
    } 

    Fammi Sapere...
  • Re: Problema ciclo/array dentro funzione

    Ciao Mirko,
    se facessi come dici tu, invece di ottenere il nuovo valore, dato dalla funzione "trova", otterrei semplicemente i titoli dell'array e non è ciò che mi serve.

    Grazie comunque per avermi risposto.
Devi accedere o registrarti per scrivere nel forum
2 risposte