如何在另一个变量中添加变量?

时间:2013-12-19 21:28:21

标签: php

这对大多数人来说必须简单,如何在另一个变量中添加变量?

此变量$objResult["price"]的值为5

echo $objResult["price"]; //it shows `5`

我想做类似的事情:

$newVariable = $objResult["price"];
echo $newVariable; //nothing happens

这对我不起作用。 echo $newVariable;它没有显示任何内容。

但这种方式不起作用。

我试过了:

$newVariable = echo $objResult["price"];
$newVariable = print $objResult["price"];
$newVariable = echo ${$objResult["price"]};

但没有运气!有人可以帮忙吗?


抽象:

如果我这样做:

echo $objResult["price"]; 

显示 5

如果我这样做:

$newVariable = $objResult["price"];
echo $newVariable;
没有任何反应。

3 个答案:

答案 0 :(得分:2)

非常接近!

$newVariable = $objResult["price"];
echo $newVariable;

答案 1 :(得分:0)

您的第一次尝试(如下所示)对于将值分配给另一个变量是正确的。

$newVariable = $objResult["price"];

现在,如果要打印此值,可以执行以下操作:

echo $newVariable;

否则,如果您遇到其他问题,请更新您的问题:)

答案 2 :(得分:-1)

你说这不起作用:

$newVariable = $objResult["price"];
echo $newVariable;

然而,你接受了答案。如果其他人来这里遇到类似的问题,我将展示上述内容可能无效。 我不是说这是OP的情况我不知道OP的情况是什么。


如果$objResult["price"]的值不是字符串,那么当您在其上调用echo时,它可能正在调用__toString()。这是在Magic Methods at php.net描述的文件记录。

因此,当您在对象上调用echo时,它会自动将其转换为字符串。

在这种情况下代码:

echo $objResult["price"];

相当于

echo $objResult["price"].__toString();

另一方面,当你有代码时:

$newVariable = $objResult["price"];
echo $newVariable;

这相当于:

$newVariable = $objResult["price"];
echo $newVariable.__toString();

如果第一个有效,第二个没有,那么这意味着你有一个奇怪的__toString()实现。您可以通过执行以下操作来缓解此问题:

$newVariable = $objResult["price"].__toString();
echo $newVariable;