$ {$}构造意味着什么?

时间:2013-03-21 13:28:49

标签: php

我是PHP的新手,所以如果这个问题是菜鸟,我很抱歉。我不知道它的名字所以找不到它。我在这段代码中读到了它。这是什么意思?

第5行:${$key}

<?php
    $expected = array( 'carModel', 'year', 'bodyStyle' );

    foreach( $expected AS $key ) {
        if ( !empty( $_POST[ $key ] ) ) {
            ${$key} = $_POST[ $key ];
        } else {
            ${$key} = NULL;
        }
    } 
?>

6 个答案:

答案 0 :(得分:3)

这与$$key相同,表示名为$key

的var

$test = "foo";

相同
$a = "test";
$$a = "foo";

答案 1 :(得分:2)

这是一个变量变量。请在此处阅读更多内容:http://php.net/manual/en/language.variables.variable.php

答案 2 :(得分:1)

符号${$key}是另一种写作风格,仅用于$$key $var = 'foo_x'; $key = 'x'; ${'foo_' . $x} = 'hello'; echo $foo_x; // hello

你可以使用这种表示法的一个特殊情况是当你做这样的技巧时:

{{1}}

答案 3 :(得分:0)

使用名称$ key设置变量。

$var = NULL;

$name = 'var';

${$name} = TRUE;

var_dump($var); // TRUE

以及:

$$name = TRUE;

答案 4 :(得分:0)

这是一种使用动态变量名称的方法。见这里:http://php.net/manual/en/language.variables.variable.php

答案 5 :(得分:0)

它允许使用复杂的表达式。

它称为复杂(卷曲)语法,您可以在http://php.net/manual/en/language.types.string.php#language.types.string.parsing.complex

找到更多信息