如何使变量由变量内部变量组成

时间:2011-12-14 19:56:36

标签: php

这是代码:

x = 8;
$y = "Value is $x <br>";
echo $y;
$x = $x + 2;
echo $y;

结果是:

Value is 8
Value is 8 

但我在期待:

Value is 8
Value is 10

如何让$ y按照预期的方式行事?

2 个答案:

答案 0 :(得分:3)

它表现得很好。你的期望是错误的。

$y = "Value is $x <br>";

这是一份作业陈述。它分配一个字符串值。该字符串值是字符串表达式的结果。表达式得到评估,然后烘焙字符串。之后不会改变。

PHP中没有标准的方法来获取变量字符串值。可以为外部变量创建一个__toString%s placeholders的对象。但这是一个很大的解决方法。

答案 1 :(得分:0)

一旦你设置了Y,它就不再遵循x了。如果$ y是一个字符串,你永远不会得到这种行为,但如果$ y也是一个int,你可以将它设置为别名:

$y= &$x;

在这种情况下,$ y的值会随着$ x的值的变化而改变。