PHP:来自字符串的新变量与变量(变量变量)连接

时间:2013-04-06 14:30:26

标签: php variable-variables

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

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

 $topValue= '$upperValue'.$passNodeMatrixSource;

 echo $topValue;

OUTPUT $ upperValueCB

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

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

4 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:4)

这个小例子可能会说明你将要做的事情:

<?php

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

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

所以你必须将你的例子改为:

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

$topValue= 'upperValue'.$passNodeMatrixSource;

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

答案 2 :(得分:2)

你可以这样做:

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

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

echo $topValue;

因为upperValueCB是var名称,如果您希望PHP了解要使用的var,则必须提供var名称。
为此,您可以使用$upperValueCB之类的静态方式 或使用这样的字符串:${'upperValueCB'}
或使用包含var名称$var = 'upperValueCB'; $$var;

的第三个var

答案 3 :(得分:0)

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

 $topValue= 'upperValue'.$passNodeMatrixSource;

 echo ${$topValue};