- Home
- Categorie
- Coding e Sistemistica
- PHP
- Dubbio su nomi variabili di variabili
-
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
-
Ciao fnneba,
quando assegni i valori $categoria e $sottocategoria fai attenzione a NON usare le maiuscole, se poi usi tutto in minuscolo!Ciao,
Melvin
-
Grazie ma non è questo...mi sono dimenticato di scrivere che ho usato strtolower per categoria e sottocategoria:(
-
Ho risolto!!! Il problema in effetti non si pone perche' basta assegnare tutto in questo modo :
$indice = "conta_dati_" . $categoria . "_" . $sottocategoria;
e poi usare la variabile $_SESSION[$indice];
Non so perche' mi sono perso in una strada cosi' difficile!!!
ciaoooo
-
@fnneba said:
Ho risolto!!! Il problema in effetti non si pone perche' basta assegnare tutto in questo modo :
$indice = "conta_dati_" . $categoria . "_" . $sottocategoria;
e poi usare la variabile $_SESSION[$indice];
Non so perche' mi sono perso in una strada cosi' difficile!!!
ciaooooEffettivamente riguardando il tuo post, alla luce di quanto dici, mi sono accorto che avevi omesso le virgolette.
In pratica avevi scritto
$_SESSION[conta_dati_libri_romanzi]invece di
$_SESSION["conta_dati_libri_romanzi"]Ciao!
Melvin