-1

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

第 5 行:${$key}

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

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

6 回答 6

3

这与$$key并且表示一个名为的 var$key

IE

$test = "foo";

是相同的

$a = "test";
$$a = "foo";
于 2013-03-21T13:30:25.600 回答
2

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

于 2013-03-21T13:30:08.760 回答
1

符号是用于变量变量${$key}的简单书写风格的另一种书写风格。$$key

您可以使用该符号的一种特殊情况是当您执行以下技巧时:

$var = 'foo_x';
$key = 'x';
${'foo_' . $x} = 'hello';

echo $foo_x; // hello
于 2013-03-21T13:32:26.297 回答
0

设置名称为 $key 的变量。

$var = NULL;

$name = 'var';

${$name} = TRUE;

var_dump($var); // TRUE

也:

$$name = TRUE;
于 2013-03-21T13:30:36.857 回答
0

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

于 2013-03-21T13:32:02.270 回答
0

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

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

于 2013-03-21T13:33:26.763 回答