¿Qué significa $$ (dólar dólar o doble dólar) en PHP?

Resuelto chicane asked hace 54 años • 7 respuestas

El ejemplo es una declaración de variable dentro de una función:

global $$link;

¿Que $$significa?

chicane avatar Jan 01 '70 08:01 chicane
Aceptado

Una sintaxis como $$variablese llama Variable Variable .

Por ejemplo, si considera esta parte del código:

$real_variable = 'test';
$name = 'real_variable';
echo $$name;

Obtendrá el siguiente resultado:

test

Aquí:

  • $real_variablecontiene'test'
  • $namecontiene el nombre de su variable:'real_variable'
  • $$namesignifica " la variable cuyo nombre está contenido en$name "
    • Cual es$real_variable
    • y tiene el valor'test'

EDITAR después del comentario de @Jhonny:

¿ Haciendo un $$$?
Bueno, la mejor forma de saberlo es intentarlo ;-)

Entonces, probemos esta parte del código:

$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 />';

Y aquí está el resultado que obtengo:

name
real_variable
test

Entonces yo diría que sí, puedes hacerlo$$$ ;-)

Pascal MARTIN avatar Apr 26 '2010 17:04 Pascal MARTIN

El $ interno resuelve la variable a en una cadena, y el externo resuelve una variable mediante esa cadena.

Entonces, considere este ejemplo.

$inner = "foo";
$outer = "inner";

La variable:

$$outer

sería igual a la cadena "foo"

Rich avatar Apr 26 '2010 17:04 Rich

Es la variable de una variable .

<?php
$a = 'hello';
$$a = 'world'; // now makes $hello a variable that holds 'world'
echo "$a ${$a}"; // "hello world"
echo "$a $hello"; // "hello world"
?>
Anthony Forloney avatar Apr 26 '2010 17:04 Anthony Forloney

Crea un nombre de variable dinámica. P.ej

$link = 'foo';
$$link = 'bar';    // -> $foo = 'bar'
echo $foo;
// prints 'bar'

(también conocida como variable variable )

Felix Kling avatar Apr 26 '2010 17:04 Felix Kling