这对大多数人来说必须简单,如何在另一个变量中添加变量?
此变量$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;
没有任何反应。
答案 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;