我最近需要对应用程序进行更改并遇到此$pageObject->createPageContent($$templateName);
方法看起来像这样
function createPageContent($page_content_html) {
$this->page_content = $page_content_html;
}
我的问题是当我删除变量前面的一个$ sign时,我获得了与double $$不同的结果。为什么还有一个$ sign?这是为了什么目的?
答案 0 :(得分:7)
$$
表示PHP中的variable variable。
通过字符串引用已存在的变量是一种简单的方法。
以下是一个例子:
$someVar = 'something';
$varname = 'someVar';
echo $$varname; //something
因此,在您的示例中,$templateName
实际上引用了现有变量的名称,因此当您将其添加到另一个$
时,PHP将获取该值那个变量。这是一个非常强大的语言功能恕我直言。
答案 1 :(得分:4)
$$
表示变量变量。 $templateName
的结果用作您要引用的变量名称。为了进一步说明,它也可以写成
${$templateName}
例如,
$templateName = "hello";
$hello = "world";
echo $$templateName;
//-> "world"
答案 2 :(得分:1)
当你使用两个$$时,它意味着变量的名称实际上是可验证的。
$animal = "cow";
$cow = "moo";
echo $$animal;
//Prints 'moo'
答案 3 :(得分:0)
这样您就可以动态地处理变量。