L'esempio è una dichiarazione di variabile all'interno di una funzione:
global $$link;
Cosa $$significa?
${$link}a Bash
L'esempio è una dichiarazione di variabile all'interno di una funzione:
global $$link;
Cosa $$significa?
${$link}a Bash
Risposte:
Una sintassi come quella $$variableè chiamata Variable Variable .
Ad esempio, se consideri questa porzione di codice:
$real_variable = 'test';
$name = 'real_variable';
echo $$name;
Otterrai il seguente output:
test
Qui :
$real_variable contiene test$name contiene il nome della tua variabile: 'real_variable'$$namesignifica " la variabile t ha il suo nome contenuto in$name "
$real_variable 'test'MODIFICA dopo il commento di @ Jhonny:
Fare un $$$?
Bene, il modo migliore per saperlo è provare ;-)
Quindi, proviamo questa porzione di codice:
$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 />';
Ed ecco l'output che ottengo:
name
real_variable
test
Quindi, direi che, sì, puoi farlo$$$ ;-)
{e }sono obbligatorie (c'è un esempio nel manuale a riguardo)
La $ interna risolve la variabile a in una stringa e quella esterna risolve una variabile in base a quella stringa.
Quindi, considera questo esempio
$inner = "foo";
$outer = "inner";
La variabile:
$$outer
sarebbe uguale alla stringa "foo"
È un variabile di una variabile .
<?php
$a = 'hello';
$$a = 'world'; // now makes $hello a variable that holds 'world'
echo "$a ${$a}"; // "hello world"
echo "$a $hello"; // "hello world"
?>
Crea un nome di variabile dinamico. Per esempio
$link = 'foo';
$$link = 'bar'; // -> $foo = 'bar'
echo $foo;
// prints 'bar'
(noto anche come variabile variabile )
questo ha funzionato per me (racchiudere tra parentesi quadre):
$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;
}