在PHP中重新声明变量

时间:2012-12-25 01:12:00

标签: php variables

在重新分配变量之前是否需要清空变量?

例如,我有一个对象'us​​er'。

$random_user = new User();

如果我声明了几个$ random_users,那么该对象将不会保留其旧值,它只会被完全重写为正确吗?

3 个答案:

答案 0 :(得分:5)

每次重新声明$ random_user时,该值都将被完全覆盖:

$random_user = new User();
$random_user = new User(); // entirely different object
$random_user = 10; // now an integer

答案 1 :(得分:2)

是的,您可以使用新值“覆盖”变量。所有旧数据都将被遗忘。例如:

$var = 1;
echo $var; // Will output 1
$var = 2; // Overrules $var with 2, 1 will be dropped entirely
echo $var; // Will output 2

对于放在变量中的对象也是如此。

答案 2 :(得分:1)

是的,在重新分配变量之前不需要清空变量,只需重新分配它们,没有refCount的对象将被php垃圾收集破坏。

$random_user = new User();
$random_user = new User(); 
$random_user = new User(); // the first two User object will be destroyed by GC