Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di pishta
    Registrato dal
    May 2006
    Messaggi
    138

    equazione dentro una stringa

    Salve a tutti, in php attraverso un ciclo for costruisco una stringa che, dopo opportune sostituzioni,costituisce un'disequazione da verificare
    quindi ho:
    codice:
     "3*2 + 4*3 <= 7"
    dalla stringa come faccio a trasformare la disequazione in operazione reale? quindi controllarla con un

    codice:
    if(3*2 + 4*3 <= 7)

    grazie.

  2. #2
    Prova con la funzione eval()
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    posta il ciclo for e vediamo
    comunque poi mettere il risultato del ciclo in una stringa $risultato e poi
    if($risultat <= 7){
    }

  4. #4
    Utente di HTML.it L'avatar di pishta
    Registrato dal
    May 2006
    Messaggi
    138
    @satifal
    la funzione eval è un pò complicata, l'avevo vista ma non saprei come usarla. Potresti postarmi un esempio con il caso che ho postato io sopra?



    @amphioxus
    non c'è un "risultato del ciclo". Il ciclo costruisce l'equazione come una stringa e poi io devo verificare il risultato

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    postalo e vediamo

  6. #6
    Forse ci sono soluzioni migliori, ma puoi provare così:

    Codice PHP:
    <?php
    $condition 
    "3*2 + 4*3 <= 7";

    $res false;
    eval(
    "if ($condition) \$res = true;");

    if (
    $res) {
        echo 
    "OK";
    } else {
        echo 
    "KO";
    }
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    se tu trasformi in una stringa la disequazione in modo da poterla visualizzare, perdi il carattere numerico e quindi la vedo dura una verifica...quello che può fare è una cosa cosi
    $a
    $b
    $c
    $d
    i termini del primo membro
    $e
    il termine del secondo

    Codice PHP:
    $stringa"$a * $b + $c * $d <=$e";
    echo 
    $stringa;
    $primo_membro$a $b $c $d;
    $secondo_membro $e;
    if(
    $primo_membro <= $secondo_membro){
    echo 
    "la disequazione è verificata";
    }
    else{
    echo 
    "la disequazione non è verificata";


  8. #8
    Utente di HTML.it L'avatar di pishta
    Registrato dal
    May 2006
    Messaggi
    138
    ok proverò entrambe le soluzioni, chiaramente usare l'espressione in modo "nativo" è meglio per me che usare l'eval().

    Però in base all'input che ho (equazione sotto forma di stringa) l'eval() sembra più comodo.

    Vabbé faccio delle prove e vediamo cosa ne esce fuori.

    Vi ringrazio comunque moltissimo perché mi avete offerto spunti di riflessione differenti che mi offrono due alternative.

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.