$$(美元或双美元)在PHP中意味着什么?

时间:2010-04-26 17:55:24

标签: php

示例是函数中的变量声明:

global $$link;

$$是什么意思?

7 个答案:

答案 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)

这是variable's variable

<?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;
    }