参照解除
参照の設定を解除すると、変数名と変数の内容の間のバインドが解除されるだけです。これは、変数の内容が破壊されることを意味するものではありません。例:
<?php $a = 1; $b =& $a; unset($a); ?>
は $b の設定を解除せず、$a のみを設定解除します。
これと Unix のリンク解除呼び出しを類推すると、理解が容易になるかもしれません。
参照の位置付け
多くの PHP 構文構造は参照メカニズムを通じて実装されているため、参照バインディングに関する上記の内容はすべてこれらの構造にも当てはまります。参照渡しや戻りなどの一部の構造については、すでに上で説明しました。参照を使用する他の構造は次のとおりです:
グローバル参照
global $var を使用して変数を宣言すると、実際にはグローバル変数への参照が作成されます。これは、次のことと同じです:
<?php $var =& $GLOBALS["var"]; ?>
これは、たとえば、unset $var ではグローバル変数の設定が解除されないことを意味します。
$this
オブジェクトのメソッドでは、$this は常にそれを呼び出すオブジェクトへの参照になります。