Visualizzazione dei risultati da 1 a 6 su 6

Discussione: il metodo eval()

Hybrid View

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Usare eval() è sconsigliato tranne che in casi MOLTO particolari.
    Allora, questo:
    $is = 'isset($uno) && isset($due)';

    se fai
    echo $is;

    avrai
    isset($uno) && isset($due)
    non
    isset(ciao) && isset(ciao)
    le 2 variabili non vengono valutate, quindi $uno e $due sono a tutti gli effetti 2 stringhe e sono sempre definite.

    Per far sì che le due variabili vengano riconosciute come variabili, dovrai usare i doppi apici, quindi così
    $is = "isset($uno) && isset($due)";

    ma in questo caso se una delle due variabili non è definita avrai un errore, per esempio se commenti la riga dove si trova $due ti salterà fuori
    Notice: Undefined variable: due in C:\xampp\htdocs\prova.php on line 4

    come ti muovi ti incarti.

    Se vuoi un'alternativa devi spiegare per bene cosa devi fare.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    1
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Usare eval() è sconsigliato tranne che in casi MOLTO particolari.
    Allora, questo:
    $is = 'isset($uno) && isset($due)';

    se fai
    echo $is;

    avrai
    isset($uno) && isset($due)
    non
    isset(ciao) && isset(ciao)
    le 2 variabili non vengono valutate, quindi $uno e $due sono a tutti gli effetti 2 stringhe e sono sempre definite.

    Per far sì che le due variabili vengano riconosciute come variabili, dovrai usare i doppi apici, quindi così
    $is = "isset($uno) && isset($due)";

    ma in questo caso se una delle due variabili non è definita avrai un errore, per esempio se commenti la riga dove si trova $due ti salterà fuori
    Notice: Undefined variable: due in C:\xampp\htdocs\prova.php on line 4

    come ti muovi ti incarti.

    Se vuoi un'alternativa devi spiegare per bene cosa devi fare.
    Allora in realtà inizialmente avevo fatto con i doppi apici, però per varie prove ho messo gli apici singoli. Comunque non risolve il problema.

    Provo a rispiegare il mio obbiettivo: quando uno scrive la condizione di un if ( ad es if($a == 2)) la condizione restituirà true se è vero e false se è falso ("" e "1" nel caso di php, comunque un valore booleano), giusto? Quello che cerco di fare è ottenere il risultato della condizione che generalmente va dentro l'if (in questo caso $a == 2) e ottenerne il valore booleano risultante dall'operazione logica. Solo che la condizione è all'interno di una variabile sotto forma di stringa (quindi $v = "$a == 2") e quindi non riesco a ricavare ciò che mi serve.

Tag per questa discussione

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.