Maison > développement back-end > tutoriel php > Variables variables en php (explication détaillée du code)

Variables variables en php (explication détaillée du code)

烟雨青岚
Libérer: 2023-04-08 21:26:01
avant
18470 Les gens l'ont consulté

Variables variables en php (explication détaillée du code)

Variables variables en php

Parfois, il est pratique d'utiliser des noms de variables mutables. C'est-à-dire que le nom d'une variable peut être défini et utilisé dynamiquement . Une variable ordinaire est définie par déclaration, par exemple :

<?php
$a = &#39;hello&#39;;
?>
Copier après la connexion

Une variable variable obtient la valeur d'une variable ordinaire comme nom de variable de la variable variable. Dans l'exemple ci-dessus, bonjour utilise deux signes dollar ($), il peut être utilisé comme variable variable.

Exemple 1 :

<?php
$$a = &#39;world&#39;;
?>
Copier après la connexion

A ce moment, les deux variables sont définies : le contenu de $a est "hello" et le contenu de $hello est "monde".

Exemple 2 :

<?php
echo "$a ${$a}";
?>
Copier après la connexion

L'instruction suivante génère exactement le même résultat :

<?php
echo "$a $hello";
?>
Copier après la connexion

Ils afficheront tous : bonjour tout le monde.

Pour utiliser une variable mutable avec un tableau , une ambiguïté doit être levée.

C'est lors de l'écriture de $$a[1], l'analyseur doit savoir s'il veut $a[1] comme variable, ou s'il veut $$a comme variable et retire la variable. valeur avec l'indice [1].

La syntaxe pour résoudre ce problème est d'utiliser ${$a[1]} pour le premier cas et ${$a}[1] pour le second cas.

Les propriétés de classe sont également accessibles via des noms de propriétés mutables. Les noms de propriétés mutables seront résolus dans le cadre de l’appel. Par exemple, pour l'expression $foo->$bar,

analysera $bar dans la portée locale et sa valeur sera utilisée comme nom de propriété de $foo .

La même chose est vraie pour $bar lorsqu'il s'agit d'une unité de tableau.

Vous pouvez également utiliser des accolades pour délimiter clairement les noms d'attributs. Très utile lorsque la propriété se trouve dans un tableau, ou que le nom de la propriété contient plusieurs parties ou que le nom de la propriété contient des caractères illégaux (comme ceux de json_decode() ou SimpleXML).

Exemple :

<?php
class foo {
    var $bar = &#39;I am bar.&#39;;
    var $arr = array(&#39;I am A.&#39;, &#39;I am B.&#39;, &#39;I am C.&#39;);
    var $r   = &#39;I am r.&#39;;
}
$foo = new foo();
$bar = &#39;bar&#39;;
$baz = array(&#39;foo&#39;, &#39;bar&#39;, &#39;baz&#39;, &#39;quux&#39;);
echo $foo->$bar . "
";
echo $foo->$baz[1] . "
";
$start = &#39;b&#39;;
$end   = &#39;ar&#39;;
echo $foo->{$start . $end} . "
";
$arr = &#39;arr&#39;;
echo $foo->$arr[1] . "
";
echo $foo->{$arr}[1] . "
";
?>
Copier après la connexion

La routine ci-dessus sortira :

I am bar.
I am bar.
I am bar.
I am r.
I am B.
Copier après la connexion

Merci d'avoir lu, j'espère que vous avez appris c'est une variable mutable.

Cet article est reproduit à partir de : https://www.cnblogs.com/ryanzheng/p/9133381.html

Tutoriel recommandé : "tutoriel php

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!

Étiquettes associées:
php
source:51dev.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal