在重新分配变量之前是否需要清空变量?
例如,我有一个对象“用户”。
$random_user = new User();
如果我声明了几个 $random_users,对象将不会保留它的旧值,它会被完全重写,对吗?
每次重新声明 $random_user 时,该值将被完全覆盖:
$random_user = new User();
$random_user = new User(); // entirely different object
$random_user = 10; // now an integer
是的,您可以用新值“覆盖”变量。所有旧数据都将被遗忘。例如:
$var = 1;
echo $var; // Will output 1
$var = 2; // Overrules $var with 2, 1 will be dropped entirely
echo $var; // Will output 2
放入变量中的对象也是如此。
是的,您不需要在重新分配之前清空变量,只需重新分配它们,没有的对象refCount
将被 php Garbage Collection 销毁。
$random_user = new User();
$random_user = new User();
$random_user = new User(); // the first two User object will be destroyed by GC