• User

    problema ciclo/array e 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:

    [PHP]

    // 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;
    

    }

    [/PHP]

    ///*** 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.


  • User

    proprio nessuno?!!!!