L'exemple est une déclaration variable dans une fonction:
global $$link;
Qu'est-ce que cela signifie $$
?
L'exemple est une déclaration variable dans une fonction:
global $$link;
Qu'est-ce que cela signifie $$
?
Une syntaxe tels que $$variable
est appelé Variable Variable.
Par exemple, si vous considérez cette partie du code:
$real_variable = 'test';
$name = 'real_variable';
echo $$name;
Vous obtiendrez la sortie suivante:
test
ici:
$real_variable
contient te st$name
contient le nom de votre variable: 'real_variable'
$$name
signifie "la THA variable a son nom contenu dans $name
"
$real_variable
'test'
EDIT après @ commentaire de Jhonny:
Faire un $$$
?
Eh bien, la meilleure façon de savoir est d'essayer ;-)
Donc, nous allons essayer cette partie de code:
$real_variable = 'test';
$name = 'real_variable';
$name_of_name = 'name';
echo $name_of_name . '<br />';
echo $$name_of_name . '<br />';
echo $$$name_of_name . '<br />';
Et voici la sortie I get:
name
real_variable
test
Alors , Je dirais que, oui, vous pouvez faire $$$
;-)
Bien que je sois d'accord ça peut être utile, la plupart du temps il vaut mieux utiliser des tableaux de toute façon. –
est-ce la même chose que de faire $ {$ value}? – Chaim
@Chaim: oui c'est ;; sauf que, dans certains cas, le '{' et '}' sont requis * (il y a un exemple dans le manuel à ce sujet) * –
C'est un variable's variable.
<?php
$a = 'hello';
$$a = 'world'; // now makes $hello a variable that holds 'world'
echo "$a ${$a}"; // "hello world"
echo "$a $hello"; // "hello world"
?>
Il évalue le le contenu d'une variable comme le nom d'une autre. Fondamentalement, il vous donne la variable dont le nom est stocké dans $link
.
L'interne $ résout la variable a en une chaîne, et l'externe résout une variable par cette chaîne.
Donc, considérez cet exemple
$inner = "foo";
$outer = "inner";
La variable:
$$outer
serait égale à la chaîne "foo"
Il crée un nom de variable dynamique. Par exemple.
$link = 'foo';
$$link = 'bar'; // -> $foo = 'bar'
echo $foo;
// prints 'bar'
(également connu sous le nom variable variable)
Je ne veux pas répéter après les autres, mais il y a un risque à l'aide $$
:)
$a = '1';
$$a = 2; // $1 = 2 :)
Il faut donc utiliser avec la tête. :)
* (référence) * http://de3.php.net/manual/fr/language.variables.variable.php – Gordon
il vous montre combien $$$ vous obtiendrez pour la maintenance du système; – RCIX
* (apparenté) * [Que signifie ce symbole en PHP] (http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php) – Gordon