PHP では、変数を破棄して仕様を記述したい場合、unset() 関数を直接使用できますが、テストでは、すべての変数 (参照変数など) がその値を指している場合にのみ unset が破棄されることがわかります。値に) が破棄されると、アドレスが解放されます。以下にいくつかの例を見てみましょう。
まず例を見てみましょう:
コードは次のとおりです | コードをコピー |
$a = "こんにちは、スプリングロード"; |
これはよくわかっていますが、unset($b) は変数名と値のバインディングを切断するだけですが、興味深い疑問が生じます:
コードは次のとおりです | コードをコピー |
$a = "こんにちは、スプリングロード"; |
なぜ $a は破壊され、なぜ $b の値はまだ残っているのでしょうか?
注: unset() 関数は、次のように、値を指すすべての変数 (値を指す参照変数など) が破棄された場合にのみアドレスを解放します。
コードをコピー | |
$a = "こんにちは、スプリングロード"; $b = $a; unset($a); unset($b); Echo $b;//出力は空です ?> |