Dubbio su nomi variabili di variabili

di il
2 risposte

Dubbio su nomi variabili di variabili

Ciao a tutti,
Vorrei sapere se è possibile usare la tecnica \"nomi variabili di variabili\" con le variabili di sessione.
Vorrei ricreare dinamicamente questa variabile di sessione :
$_SESSION[conta_dati_libri_romanzi];
Il nome della variabile è composto dalla dicitura fissa \"'$_SESSION[conta_dati_'\"
e dalla parte dinamica costituita dalla categoria e dalla sottocategoria (nell'esempio rispettivamente libri e romanzi).
La categoria e sottocategoria posso ovviamente assumere valori diversi.
Procedo cosi' :

$categoria = \"Libri\";
$sottocategoria = \"Romanzi\";
$conta = '$_SESSION[conta_dati_' . $categoria . '_' . $sottocategoria . ']';
Questa istruzione mi crea la stringa corretta :
$_SESSION[conta_dati_libri_romanzi];
Assegno poi il valore di prova 1 alla variabile dinamica in questo modo :
${$conta} = 1;
A questo punto se faccio la echo di $_SESSION[conta_dati_libri_romanzi] non vedo nulla.
Vorrei sapere se sbaglio qualcosa nelle istruzione o se questo modo di agire non è contemplato dal php.

Grazieeeeeeeeeeeeeeeee

2 Risposte

  • Re: Dubbio su nomi variabili di variabili

    Se ti puo soddisfare fai cosi
    <?php
    $categoria = "Libri"; 
    $sottocategoria = "Romanzi"; 
    $conta = '$_SESSION["conta_dati_'.$categoria.'_'.$sottocategoria.'"]'; 
    echo $conta;
    eval($conta." = 1;"); 
    echo $_SESSION["conta_dati_Libri_Romanzi"]; 
    
    ?>
    
  • Re: Dubbio su nomi variabili di variabili

    Ciao,

    In ogni caso, per verificare il contenuto di array associativi (globali o meno) puoi sempre fare qualcosa di questo tipo:
    foreach($SESSION as $key=>$val){
       echo $key."=".$val."<br>";
    }
    In questo modo hai un colpo d'occhio immediato su cosa contiene l'array $SESSION in termini sia di chiavi ($key) che di contenuti ($val). Per il debugging torna spesso utile...

    Ciaociao
Devi accedere o registrarti per scrivere nel forum
2 risposte