再割り当てする前に変数を空にする必要がありますか?
たとえば、オブジェクト'user'があります。
$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ガベージコレクションによって破棄されます。
$random_user = new User();
$random_user = new User();
$random_user = new User(); // the first two User object will be destroyed by GC