O exemplo é uma declaração de variável dentro de uma função:
global $$link;
O que isso $$
significa?
${$link}
em Bash
O exemplo é uma declaração de variável dentro de uma função:
global $$link;
O que isso $$
significa?
${$link}
em Bash
Respostas:
Uma sintaxe como $$variable
é chamada de Variável Variável .
Por exemplo, se você considerar esta parte do código:
$real_variable = 'test';
$name = 'real_variable';
echo $$name;
Você obterá a seguinte saída:
test
Aqui :
$real_variable
contém teste$name
contém o nome da sua variável: 'real_variable'
$$name
significa " a variável que tem seu nome contido em$name
"
$real_variable
'test'
EDITAR após o comentário de @Jhonny:
Fazendo um $$$
?
Bem, a melhor maneira de saber é tentar ;-)
Então, vamos tentar esta parte do 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 />';
E aqui está o resultado que obtenho:
name
real_variable
test
Então, eu diria que sim, você pode fazer$$$
;-)
{
e }
são obrigatórios (há um exemplo no manual sobre isso)
O $ interno resolve a variável a em uma string, e o externo resolve uma variável por essa string.
Então, considere este exemplo
$inner = "foo";
$outer = "inner";
A variável:
$$outer
seria igual à string "foo"
É uma variável de variável .
<?php
$a = 'hello';
$$a = 'world'; // now makes $hello a variable that holds 'world'
echo "$a ${$a}"; // "hello world"
echo "$a $hello"; // "hello world"
?>
Ele cria um nome de variável dinâmica. Por exemplo
$link = 'foo';
$$link = 'bar'; // -> $foo = 'bar'
echo $foo;
// prints 'bar'
(também conhecido como variável variável )
isso funcionou para mim (coloque entre colchetes):
$aInputsAlias = [
'convocatoria' => 'even_id',
'plan' => 'acev_id',
'gasto_elegible' => 'nivel1',
'rubro' => 'nivel2',
'grupo' => 'nivel3',
];
/* Manejo de los filtros */
foreach(array_keys($aInputsAlias) as $field)
{
$key = $aInputsAlias[$field];
${$aInputsAlias[$field]} = $this->request->query($field) ? $this->request->query($field) : NULL;
}