unset( mixed $var[, mixed $... ] )
は、変数「$var」を破棄する組み込み関数。
関数内で静的変数を破棄すると、その関数の残りのコンテキスト内においてのみ破棄する。再度、その関数を呼び出すと、破棄する前の値を復元する。
定義
空 unset( 多様な型 $var[, 多様な型 $...] );
パラメータ
- 多様な型 $var
破棄したい変数を指定。
- 多様な型 $…
破棄したい変数は複数指定できる。
戻り値
空。値を返さない。
構文
変数を破棄する
空 = unset( 変数 );
「変数」を破棄する。
複数の変数を破棄する
空 = unset( 変数A, 変数B, 変数C );
「変数A~C」を破棄する。
サンプル
変数を破棄する
<?php
$var = "文字列";
echo '$var: ' . $var . '<br />';
unset( $var );
echo '$var: ' . $var;
?>
$var = "文字列";
echo '$var: ' . $var . '<br />';
unset( $var );
echo '$var: ' . $var;
?>
↓↓↓出力結果↓↓↓
$var: 文字列
$var:
$var:
複数の変数を破棄する
<?php
$varA = "A";
$varB = "B";
$varC = "C";
echo '$varA~C: ' . "$varA$varB$varC<br />";
unset( $varA, $varB, $varC );
echo '$varA~C: ' . "$varA$varB$varC<br />";
?>
$varA = "A";
$varB = "B";
$varC = "C";
echo '$varA~C: ' . "$varA$varB$varC<br />";
unset( $varA, $varB, $varC );
echo '$varA~C: ' . "$varA$varB$varC<br />";
?>
↓↓↓出力結果↓↓↓
$varA~C: ABC
$varA~C:
$varA~C:
静的変数を、関数内でunset()
関数内で静的変数を破棄すると、その関数の残りのコンテキスト内においてのみ破棄する。再度、その関数を呼び出すと、破棄する前の値を復元する。
<?php
function sample() {
static $var;
$var++;
echo '$var: ' . $var . '<br />';
unset( $var );
$var = "文字列";
echo '$var: ' . $var . '<br />';
}
sample();
sample();
sample();
?>
function sample() {
static $var;
$var++;
echo '$var: ' . $var . '<br />';
unset( $var );
$var = "文字列";
echo '$var: ' . $var . '<br />';
}
sample();
sample();
sample();
?>
↓↓↓出力結果↓↓↓
$var: 1
$var: 文字列
$var: 2
$var: 文字列
$var: 3
$var: 文字列
$var: 文字列
$var: 2
$var: 文字列
$var: 3
$var: 文字列