Пример – объявление переменной внутри функции:
global $$link;
Что означает $$
?
Синтаксис, такой как $$variable
называется Variable Variable .
Например, если вы рассматриваете эту часть кода:
$real_variable = 'test'; $name = 'real_variable'; echo $$name;
Вы получите следующий результат:
test
Вот :
$real_variable
содержит тест $name
содержит имя вашей переменной: 'real_variable'
$$name
означает " переменная thas имеет свое имя, содержащееся в $name
"
$real_variable
'test'
EDIT после комментария @ 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"
Это переменная переменной .
<?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
.