Maison > Article > développement back-end > Explication détaillée de la façon d'utiliser les noms de variables variables en PHP
Parfois, les noms de variables apportent une grande commodité à la programmation. Autrement dit, les noms de variables peuvent être nommés et utilisés de manière dynamique. Habituellement, les variables sont nommées à l'aide des instructions suivantes :
<?php $a = 'hello'; ?>
Variable variable le nom fait référence à l'utilisation de la valeur d'une variable comme nom de la variable. Dans l'exemple ci-dessus, vous pouvez définir hello sur le nom d'une variable en utilisant deux signes $, comme ci-dessous.
<?php $$a = 'world'; ?>
Grâce aux deux instructions ci-dessus, deux variables sont définies : la variable $a, qui contient "hello" et la variable $hello, qui contient "world". Par conséquent, le résultat de la langue suivante :
<?php echo "$a ${$a}"; ?>
est exactement le même que le résultat de l'instruction suivante :
<?php echo "$a $hello"; ?>
Ils produisent tous les deux : bonjour tout le monde.
Afin d'utiliser des noms de variables mutables pour les tableaux, vous devez résoudre un problème d'ambiguïté. Autrement dit, si vous écrivez $$a[1], l'analyseur doit comprendre si vous souhaitez traiter $a[1] comme une variable ou traiter $$a comme une variable [1] fait référence à cette variable. indice. La syntaxe pour résoudre cette ambiguïté est la suivante : utilisez ${$a[1]} dans le premier cas et ${$a}[1] dans le second cas. Les
ClassAttributs sont également accessibles via des noms de propriétés mutables. Les noms de propriétés mutables sont extraits de la portée d'accès de la variable dans laquelle l'appel a été effectué. Par exemple, si votre expression ressemble à ceci : $foo->$bar, alors le moteur d'exécution recherchera la variable $bar dans la portée de la variable locale , et sa valeur sera be Sera utilisé comme nom de propriété de l'objet $foo. Il peut également être utilisé si $bar est un tableau.
Exemple 1 Nom de la variable variable
<?php class foo { var $bar = 'I am bar.'; } $foo = new foo(); $bar = 'bar'; $baz = array('foo', 'bar', 'baz', 'quux'); echo $foo->$bar . "n"; echo $foo->$baz[1] . "n"; ?>
L'exemple ci-dessus affichera les résultats suivants :
I am bar. I am bar.
Avertissement
Veuillez noter, variable variable les noms ne peuvent pas être utilisés pour les fonctions PHP et les variables de tableau super globales dans les classes. La variable $this est également une variable spéciale qui ne peut pas être nommée dynamiquement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!