0

再割り当てする前に変数を空にする必要がありますか?

たとえば、オブジェクト'user'があります。

$random_user = new User();

複数の$random_usersを宣言すると、オブジェクトは古い値を保持せず、完全に正しく書き換えられますか?

4

3 に答える 3

5

$ random_userを再宣言するたびに、値は完全にオーバーライドされます。

$random_user = new User();
$random_user = new User(); // entirely different object
$random_user = 10; // now an integer
于 2012-12-25T01:14:57.567 に答える
2

はい、変数を新しい値で「上書き」することができます。古いデータはすべて忘れられます。例えば:

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

変数に入れるオブジェクトについても同じことが言えます。

于 2012-12-25T01:14:34.643 に答える
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
于 2012-12-25T01:18:17.237 に答える