3

这是一个非常愚蠢的问题,但对于我的生活,我无法弄清楚我们的作用。根据过去的经验,如果您不知道,请询问或永远保持愚蠢的代码,例如

foreach( $arr as $key => $val ) {
    ${$key.'Count'} = 0;
}

提前致谢

4

3 回答 3

3

它是一个变量变量。大括号内的结果字符串用作变量的名称。因此,如果您有以下情况:

$arr = array('foo' => 'bar');

foreach( $arr as $key => $val ) {
    ${$key.'Count'} = 0;
}

现在将有一个变量$fooCount,其值为0

于 2013-03-22T10:14:05.787 回答
1

花括号用于显式设置变量名的结尾。

在您的特定情况下,变量名称是动态创建的:

${$key.'Count'} // $myKeyCount

它还可用于指定非动态命名变量的结尾:

echo "My string has {$example}00.00 things"; // where I write out a value 100 times bigger
于 2013-03-22T10:16:04.523 回答
0

简单的回答:

你可以用一个变量名设置一个var

$varName = 'test'
${$varName}  = "Hello world!";
echo $test;

将会呈现

 Hello world!
于 2013-03-22T10:12:20.760 回答