Dubbio su nomi variabili di variabili

  • Creatore Discussione Creatore Discussione fnneba
  • Data di inizio Data di inizio

fnneba

Utente Attivo
19 Gen 2006
36
0
0
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
 
Non so se ho capito bene quanto hai chiesto, comunque scrivendo in questo modo:
PHP:
<?
$categoria = "Libri";
$sottocategoria = "Romanzi";
$conta = '$_SESSION[conta_dati_' . $categoria . '_' . $sottocategoria . ']';
echo $conta.'<br>';
echo ${$conta} = 1;
echo '<br>';
echo $conta;
?>

Mi stampa regolarmente:
PHP:
$_SESSION[conta_dati_Libri_Romanzi]
1
$_SESSION[conta_dati_Libri_Romanzi]

Soltano che in questo modo tu non stai creando una sessione (indipendentemente dal fatto che ci sia o no session_start() in intestazione) stai solo attribuendo un valore stringa a una variabile...

A riprova testa il seguente codice (che se ti ho compreso bene dovrebbe anche contenere la soluzione al tuo quesito):
PHP:
<?
session_start();
$categoria = "Libri";
$sottocategoria = "Romanzi";
$conta ="";
echo ${$conta} = 1;
$_SESSION["conta_dati_".$categoria."_".$sottocategoria] = $conta; 
echo $_SESSION["conta_dati_".$categoria."_".$sottocategoria];
?>

:byebye:
 

Discussioni simili

M
Risposte
6
Visite
3K
HTML e CSS
Membro cancellato 26246
M