unset()
は指定した変数を破棄します。PHP 3では、
unset()
は常に
TRUE
(実際には整数値1) を返して いました。しかし、PHP 4では
unset()
はもはや真 の意味で関数ではなく、命令となっています。値が返されないため、
unset()
の値を取得しようとすると、パースエラー となります。
関数
unset()
の内部動作は、破棄しようとする変数 の型に依存します。
あるグローバル変数が関数の中で
unset()
された場 合、ローカル変数のみが破棄されます。呼出側の環境にある変数は、
unset()
がコールされる前と同じ値を保持します。
参照渡しされた変数が関数内で
unset()
された場合 に、ローカル変数のみが破棄されます。呼出側の環境でその変数は、
unset()
がコールされる前と同じ値を保持します。
function foo( $bar) { unset($bar); $bar = "blah"; } $bar = 'something'; echo "$bar\n"; foo($bar); echo "$bar\n"; |
静的変数が関数の内部で
unset()
された場合、
unset()
は、その変数とその静的変数への全てのリ ファレンスを破棄します。
グローバル変数を関数内で
unset()
したい場合、 配列
$GLOBALS
を使用し、次のようにして下さい。
注意 unset() は言語の一部です。