PHP使用这个'$$ var'是什么意思?

S.H*_*.H. -1 php variables foreach

我正在尝试学习php,我在foreach循环中看到了这是什么意思?我理解&$ var它直接引用了对象的内存地址.但是$$ var意味着什么?究竟是什么?

这是一个例子.

    foreach($this->vars as $key => $value)
    {
        $$key = $value;
        echo "$$Key: " . $$key;
        echo "Key: " . $key;
        echo "<br/>";
        echo "Value: " . $value;
    }
Run Code Online (Sandbox Code Playgroud)

Bra*_*tie 5

你正在看一个变量变量.例如

// original variable named 'foo'
$foo = "bar";

// reference $foo dynamically by evaluating $x
$x = "foo";
echo $$x; // "bar";
echo ${$x}; // "bar" as well but the {} allows you to perform concatenation

// different version of {} to show a more "complex" operation
$y = "fo";
$z = "o";
echo ${$y . $z}; // "bar" also ("fo" . "o" = "foo")
Run Code Online (Sandbox Code Playgroud)

要显示更符合您问题的示例:

$foo = "foo";
$bar = "bar";
$baz = "baz";

$ary = array('foo' => 'FOO','bar' => 'BAR','baz' => 'BAZ');
foreach ($ary as $key => $value){
  $$key = $value;
}

// end result is:
// $foo = "FOO";
// $bar = "BAR";
// $baz = "BAZ";
Run Code Online (Sandbox Code Playgroud)