Пример - объявление переменной внутри функции:
global $$link;
Что означает $$
?
Пример - объявление переменной внутри функции:
global $$link;
Что означает $$
?
Синтаксис, такой как $$variable
, называется Переменная переменная. p >
Например, если вы рассматриваете эту часть кода:
$real_variable = 'test';
$name = 'real_variable';
echo $$name;
Вы получите следующий результат:
test
Здесь:
$real_variable
содержит тест$name
содержит имя вашей переменной: 'real_variable'
$$name
означает "переменная, которая имеет свое имя, содержащееся в $name
",
$real_variable
'test'
ИЗМЕНИТЬ после комментария @Jhonny:
Выполнение $$$
?
Ну, лучший способ узнать - попробовать: -)
Итак, попробуйте эту часть кода:
$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 />';
И вот результат, который я получаю:
name
real_variable
test
Итак, я бы сказал, да, вы можете сделать $$$
; -)
Внутренний $разрешает переменную переменной строку, а внешняя разрешает переменную этой строкой.
Итак, рассмотрим этот пример
$inner = "foo";
$outer = "inner";
Переменная:
$$outer
будет равно строке "foo"
Это переменная a .
<?php
$a = 'hello';
$$a = 'world'; // now makes $hello a variable that holds 'world'
echo "$a ${$a}"; // "hello world"
echo "$a $hello"; // "hello world"
?>
Он создает имя динамической переменной. Например.
$link = 'foo';
$$link = 'bar'; // -> $foo = 'bar'
echo $foo;
// prints 'bar'
(также известный как переменная переменная)
Я не хочу повторять за другими, но существует риск использования $$
:)
$a = '1';
$$a = 2; // $1 = 2 :)
Так используйте его с головой.:)
global $$link;
означает ужасный дизайн приложения.
Тот, кто написал это, понятия не имеет о поддержке кода
Он оценивает содержимое одной переменной как имя другой. В основном это дает вам переменную, имя которой хранится в $link
.
это сработало для меня (заключите в квадратные скобки):
$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;
}