PHP unset() 関数
unset()この関数は指定された変数を破棄するために使用されます。
PHP バージョン要件: PHP 4, PHP 5, PHP 7
構文
void unset ( mixed $var [, mixed $... ] )
パラメータの説明:
- $var: 破棄する変数。
戻り値
戻り値はありません。
例
例
//単一の変数を破棄
unset ($foo);
//単一の配列要素を破棄
unset ($bar['quux']);
//複数の変数を破棄
unset($foo1, $foo2, $foo3);
関数内で unset() をグローバル変数に対して使用した場合、ローカル変数だけが破棄され、呼び出し環境の変数は unset() を呼び出す前と同じ値が保持されます。
例
function destroy_foo() {
global $foo;
unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo;
出力結果は次のとおりです:
bar
関数内でグローバル変数を unset() したい場合は、$GLOBALS 配列を使用して実現できます:
例
function foo()
{
unset($GLOBALS['bar']);
}
$bar = "something";
foo();
関数内で参照渡しされた変数に unset() を使用した場合、ローカル変数だけが破棄され、呼び出し環境の変数は unset() を呼び出す前と同じ値が保持されます。
例
function foo(&$bar) {
unset($bar);
$bar = "blah";
}
$bar = 'something';
echo "$bar\n";
foo($bar);
echo "$bar\n";
上記の例は次のように出力されます:
something something
関数内で静的変数に unset() を使用した場合、関数内部ではその静的変数は破棄されます。ただし、再度この関数を呼び出すと、この静的変数は前回破棄される前の値に復元されます。
例
function foo()
{
static $bar;
$bar++;
echo "Before unset: $bar, ";
unset($bar);
$bar = 23;
echo "after unset: $bar\n";
}
foo();
foo();
foo();
上記の例は次のように出力されます:
Before unset: 1, after unset: 23 Before unset: 2, after unset: 23 Before unset: 3, after unset: 23その他の拡張機能
PHP で利用可能な関数