示例是函数中的变量声明:
global $$link;
$$
是什么意思?
答案 0 :(得分:158)
$$variable
等语法称为Variable Variable。
例如,如果您考虑这部分代码:
$real_variable = 'test';
$name = 'real_variable';
echo $$name;
您将获得以下输出:
test
在这里:
$real_variable
包含测试$name
包含变量的名称:'real_variable'
$$name
表示“变量thas的名称包含在$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
所以,我会说,是的,你可以做$$$
; - )
答案 1 :(得分:22)
内部$将一个变量解析为一个字符串,外部的一个变量通过该字符串解析一个变量。
所以,请考虑这个例子
$inner = "foo";
$outer = "inner";
变量:
$$outer
将等于字符串“foo”
答案 2 :(得分:12)
<?php
$a = 'hello';
$$a = 'world'; // now makes $hello a variable that holds 'world'
echo "$a ${$a}"; // "hello world"
echo "$a $hello"; // "hello world"
?>
答案 3 :(得分:6)
它创建一个动态变量名称。 E.g。
$link = 'foo';
$$link = 'bar'; // -> $foo = 'bar'
echo $foo;
// prints 'bar'
(也称为variable variable)
答案 4 :(得分:3)
我不想在其他人之后重复,但使用$$
存在风险:)
$a = '1';
$$a = 2; // $1 = 2 :)
所以请用头部。 :)
答案 5 :(得分:1)
它将一个变量的内容作为另一个变量的名称进行评估。基本上它会为您提供名称存储在$link
。
答案 6 :(得分:0)
这对我有用(用方括号括起来):
$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;
}