在重新分配变量之前是否需要清空变量?
例如,我有一个对象'user'。
$random_user = new User();
如果我声明了几个$ random_users,那么该对象将不会保留其旧值,它只会被完全重写为正确吗?
答案 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