PHP unset関数原理と使用方法の解析
unset-与えられた変数をリリースします。
説明
unset(mixed$var[,mixed]):void
unset()は指定した変数を廃棄します。
unset()の関数での挙動は、破壊したい変数の種類によって異なります。
関数でunset()のグローバル変数がある場合は、ローカル変数だけが破壊されますが、呼び出し環境の変数はunset()を呼び出す前と同じ値を維持します。
bar
関数でunset()のグローバル変数を望むなら、$GLOOBALS配列を使って実行できます。
something
something
関数内でunset()の静的変数があると、関数内部でこの静的変数が破壊されます。しかし、この関数を再起動すると、この静的変数は破壊された前の値に復元されます。
Before unset:1、after unset:23
Before unset:2、after unset:23
Before unset:3、after unset:23
パラメータ
var
破壊する変数。
…
その他の変数……
戻り値
戻り値がありません。
模範的なタイプ
Example钾1 unset()例
<?php
//単一変数の廃棄
unset($foo)
//単一配列要素の廃棄
unset($bar['quux]);
//一つ以上の変数を廃棄する
unset($foo 1、$foo 2、$foo 3)
?
Example〓〓2使用(unset)タイプ強制変換
(unset)タイプの強制変換は、しばしば関数unset()と困惑を引き起こす。完全性のために、NULLタイプとしての強制変換です。変数の種類は変わりません。
<?php
$name='Felipe'
var_dump((unset)$name);
var_dump($name);
?
上記のルーチンは出力されます。
NULL
string(6)「Felipe」
コメント Note:関数ではなく言語のコンストラクタなので、可変関数によって呼び出すことができません。 It is possible to unset even oject properties visible in current context. は、PHP 5の前にオブジェクト内で$thisを廃棄することができません。 は、unset()にアクセスできないオブジェクト属性がある場合、__u uunset()はこの積載方法を呼び出します。 以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
説明
unset(mixed$var[,mixed]):void
unset()は指定した変数を廃棄します。
unset()の関数での挙動は、破壊したい変数の種類によって異なります。
関数でunset()のグローバル変数がある場合は、ローカル変数だけが破壊されますが、呼び出し環境の変数はunset()を呼び出す前と同じ値を維持します。
<?php
function destroy_foo() {
global $foo;
unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo;
?>
上記のルーチンは出力されます。bar
関数でunset()のグローバル変数を望むなら、$GLOOBALS配列を使って実行できます。
<?php
function foo()
{
unset($GLOBALS['bar']);
}
$bar = "something";
foo();
?>
関数にunset()が参照によって伝達される変数があると、ローカル変数だけが破壊され、呼び出し環境における変数はunset()を呼び出す前と同じ値を維持します。
<?php
function foo(&$bar) {
unset($bar);
$bar = "blah";
}
$bar = 'something';
echo "$barn";
foo($bar);
echo "$barn";
?>
上記のルーチンは出力されます。something
something
関数内でunset()の静的変数があると、関数内部でこの静的変数が破壊されます。しかし、この関数を再起動すると、この静的変数は破壊された前の値に復元されます。
<?php
function foo()
{
static $bar;
$bar++;
echo "Before unset: $bar, ";
unset($bar);
$bar = 23;
echo "after unset: $barn";
}
foo();
foo();
foo();
?>
上記のルーチンは出力されます。Before unset:1、after unset:23
Before unset:2、after unset:23
Before unset:3、after unset:23
パラメータ
var
破壊する変数。
…
その他の変数……
戻り値
戻り値がありません。
模範的なタイプ
Example钾1 unset()例
<?php
//単一変数の廃棄
unset($foo)
//単一配列要素の廃棄
unset($bar['quux]);
//一つ以上の変数を廃棄する
unset($foo 1、$foo 2、$foo 3)
?
Example〓〓2使用(unset)タイプ強制変換
(unset)タイプの強制変換は、しばしば関数unset()と困惑を引き起こす。完全性のために、NULLタイプとしての強制変換です。変数の種類は変わりません。
<?php
$name='Felipe'
var_dump((unset)$name);
var_dump($name);
?
上記のルーチンは出力されます。
NULL
string(6)「Felipe」
コメント