Les variables dynamiques permettent d'affecter un nom différent à une autre variable.

$nom_variable = 'nom_var';

$$nom_variable = valeur;
// équivaut à
$nom_var = valeur;

Cette technique facilite, donc, la modification dynamique du nom d'une variable.

Les variables tableaux sont également capables de supporter les noms dynamiques, cependant il est nécessaire de faire attention à la syntaxe à utiliser afin d'éviter toutes équivoques lors d'un appel à $$variable. C'est pourquoi, l'adjonction d'accolades rend l'expression plus sûre.

$nom_variable = array("val0", "val1", ...,"valN");
${$nom_variable[0]} = valeur;
$val0 = valeur;

$nom_variable = "nom_var";
${$nom_variable}[0] = valeur;
$nom_var[0] = valeur;

Les accolades servent aussi à éviter toutes confusions lors du rendu d'une variable dynamique.

echo "Nom : $nom_variable - Valeur : ${$nom_variable}";
// équivaut à
echo "Nom : $nom_variable - Valeur : $nom_var";