Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [php]eval()

  1. #1
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822

    [php]eval()

    non riesco a stampare a video il valore corretto di $macro:

    Codice PHP:

    $a 
    "Macro categoria A";
    $b "Macro categoria B";
    $c "Macro categoria C"

    $cat "a";

    eval(
    "\$macro = '\$'.'$cat';");

    print 
    $macro
    in pratica $cat può assumere valori "a" , "b" , "c" ecc..
    e deve prendersi il suo valore corrispondente $a o $b o $c ecc..

    io voglio che mi stampi a video "Macro Categoria A"
    invece mi stampa "$a"

    non riesco a capire come usare sto benedetto eval

  2. #2
    forse xkè usavi l'apice singolo e non il doppio apice, così facendo vedeva la variabile come stringa.
    prova così:
    Codice PHP:
    $a "Macro categoria A"
    $b "Macro categoria B"
    $c "Macro categoria C" 

    $cat "a"

    eval(
    "\$macro = \"$".$cat.";"); 

    print 
    $macro

  3. #3
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da enzo845555
    forse xkè usavi l'apice singolo e non il doppio apice, così facendo vedeva la variabile come stringa.
    prova così:
    Codice PHP:
    $a "Macro categoria A"
    $b "Macro categoria B"
    $c "Macro categoria C" 

    $cat "a"

    eval(
    "\$macro = \"$".$cat.";"); 

    print 
    $macro
    Parse error: syntax error, unexpected $end in /home/www/ed15443b9f6fc97f94355374bf32f664/web/it/test.php(9) : eval()'d code on line 1

  4. #4
    innanzitutto ti manca un ; alla fine di $c...
    e poi:
    Codice PHP:
    $a 'Macro categoria A';
    $b 'Macro categoria B';
    $c 'Macro categoria C';

    $cat 'b';

    eval(
    '$macro = $'.$cat.';');

    print 
    $macro

  5. #5
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da Corvo[666]
    innanzitutto ti manca un ; alla fine di $c...
    e poi:
    Codice PHP:
    $a 'Macro categoria A';
    $b 'Macro categoria B';
    $c 'Macro categoria C';

    $cat 'b';

    eval(
    '$macro = $'.$cat.';');

    print 
    $macro
    si il ; l'avevo notato ma non riuscivo a capire l'errore che generava l'eval...
    ora funzia alla grande.. 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.