PHP unset() 関数

PHP 可用的函数PHP で利用可能な関数

unset()この関数は指定された変数を破棄するために使用されます。

PHP バージョン要件: PHP 4, PHP 5, PHP 7

構文

void unset ( mixed $var [, mixed $... ] )

パラメータの説明:

  • $var: 破棄する変数。

戻り値

戻り値はありません。

例

例

<?php //単一の変数を破棄 unset ($foo); //単一の配列要素を破棄 unset ($bar['quux']); //複数の変数を破棄 unset($foo1, $foo2, $foo3); ?>

関数内で unset() をグローバル変数に対して使用した場合、ローカル変数だけが破棄され、呼び出し環境の変数は unset() を呼び出す前と同じ値が保持されます。

例

<?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo; ?>

出力結果は次のとおりです:

bar

関数内でグローバル変数を unset() したい場合は、$GLOBALS 配列を使用して実現できます:

例

<?php function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo(); ?>

関数内で参照渡しされた変数に unset() を使用した場合、ローカル変数だけが破棄され、呼び出し環境の変数は unset() を呼び出す前と同じ値が保持されます。

例

<?php function foo(&$bar) { unset($bar); $bar = "blah"; } $bar = 'something'; echo "$bar\n"; foo($bar); echo "$bar\n"; ?>

上記の例は次のように出力されます:

something
something

関数内で静的変数に unset() を使用した場合、関数内部ではその静的変数は破棄されます。ただし、再度この関数を呼び出すと、この静的変数は前回破棄される前の値に復元されます。

例

<?php 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 可用的函数PHP で利用可能な関数

その他の拡張機能