• User

    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


  • User

    Ciao fnneba,
    quando assegni i valori $categoria e $sottocategoria fai attenzione a NON usare le maiuscole, se poi usi tutto in minuscolo! 😉

    Ciao,
    Melvin


  • User

    Grazie ma non è questo...mi sono dimenticato di scrivere che ho usato strtolower per categoria e sottocategoria:(


  • User

    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 😛


  • User

    @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!!!
    ciaoooo 😛

    Effettivamente 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