2

我有一个我无法解决的基本 php 问题,我也想了解为什么!

 $upperValueCB = 10;
 $passNodeMatrixSource = 'CB';

 $topValue= '$upperValue'.$passNodeMatrixSource;

 echo $topValue;

输出 $upperValueCB

但我希望 OUTPUT 作为变量的值 10。

如何让 PHP 将 $dollar-phrase 作为变量而不是字符串读取?

4

4 回答 4

4
$varName = 'upperValue' . $passNodeMatrixSource;
$topValue = $$varName;

http://php.net/manual/en/language.variables.variable.php

于 2013-04-06T14:33:36.260 回答
4

这个小例子可以说明你将要做什么:

<?php

$a = 'b';
$b = 10;

echo ${$a}; // will output 10

因此,您必须将示例更改为:

$upperValueCB = 10;
$passNodeMatrixSource = 'CB';

$topValue= 'upperValue'.$passNodeMatrixSource;

echo ${$topValue}; // will output 10
于 2013-04-06T14:35:16.303 回答
2

你可以这样做:

$upperValueCB = 10;
$passNodeMatrixSource = 'CB';

$topValue= ${'upperValue'.$passNodeMatrixSource};

echo $topValue;

因为upperValueCB是 var 名称,如果你想让 PHP 了解使用哪个 var,你必须给出 var 名称。
为此,您可以使用像这样的静态方式$upperValueCB
或使用这样的字符串:${'upperValueCB'}
或使用包含 var 名称的第三个 var$var = 'upperValueCB'; $$var;

于 2013-04-06T14:36:12.493 回答
0
 $upperValueCB = 10;
 $passNodeMatrixSource = 'CB';

 $topValue= 'upperValue'.$passNodeMatrixSource;

 echo ${$topValue};
于 2013-04-06T14:32:58.680 回答