为什么有两个$$标志在变量前面?

Rol*_*and 3 php

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

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

方法看起来像这样

function createPageContent($page_content_html) {
        $this->page_content = $page_content_html;
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我删除变量前面的一个$ sign时,我获得了与double $$不同的结果.为什么还有一个$ sign?这是为了什么目的?

Jac*_*kin 7

$$表示PHP中的变量变量.

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

这是一个例子:

$someVar = 'something';

$varname = 'someVar';

echo $$varname; //something
Run Code Online (Sandbox Code Playgroud)

因此,在您的示例中,$templateName实际引用了现有变量名称,因此当您将其添加到另一个变量$,PHP会从该变量中获取值.这是一个非常强大的语言功能恕我直言.