为什么在变量的前面有两个$$符号?

可能重复:
$$在PHP中意味着什么?

我最近需要对应用程序进行更改,并且遇到了这个$pageObject->createPageContent($$templateName);

该方法看起来像这样

function createPageContent($page_content_html) {
        $this->page_content = $page_content_html;
    }

我的问题是,当我删除变量的一个$符号时,我得到了与双重$ $$不同的结果。 为什么有一个$符号额外? 这是什么目的?


$$表示PHP中的一个变量变量

这是通过字符串引用现有变量的简单方法。

这是一个例子:

$someVar = 'something';

$varname = 'someVar';

echo $$varname; //something

因此,在你的例子中, $templateName实际上引用了一个已经存在的变量名字 ,所以当你用另一个$前缀时,PHP从该变量中获取值。 这是一个非常强大的语言功能恕我直言。


$$代表一个变量变量。 $templateName的结果被用作你想要引用的变量名称。 为了进一步明确,它也可以写成

${$templateName}

例如,

$templateName = "hello";
$hello = "world";

echo $$templateName;
//-> "world"

http://php.net/manual/en/language.variables.variable.php


当你使用两个$$时,这意味着变量的名字实际上是可以理解的。

$animal = "cow";

$cow = "moo";

echo $$animal;

//Prints 'moo'
链接地址: http://www.djcxy.com/p/59093.html

上一篇: Why are there two $$ signs infront of variable?

下一篇: What does $$ in php mean?