[初探PHP]unset()関数

1407 ワード

unset
--指定した変数を解放
説明:
void unset( mixed var [,mixed var [, ...]])

unset()指定した変数を破棄する
例1.unset()の例
<?php
    //      
    unset ($foo);

    //        
    unset ($bar['quux']);

    //          
    unset ($foo1, $foo2, $foo3);
?>

関数内のunset()がグローバル変数である場合、ローカル変数は破棄され、呼び出し環境内の変数はunset()を呼び出す前と同じ値を維持します.
<?php
    function foor(){
        qlbal $foo;
        unset($foo); //   unset()        foor()   
    }
    
    $foo = 'bar';
    foor();
    echo $foo; // bar
?>

関数内のunset()が参照によって渡される変数である場合、ローカル変数は破棄され、呼び出し環境内の変数はunset()を呼び出す前と同じ値を維持します.
<?php
    function foo(&$bar){
        unset($bar);
        $bar = "blah";
    }
    
    $bar = 'someThing';
    echo "$bar
"; // someThing          foo($bar);     echo "$bar
"; // someThing ?>

関数内のunset()の静的変数の場合、unset()はこの変数とそのすべての参照を破棄します.
<?php
    function foo(){
        static $a;
        $a++;
        echo "$a
";         unset($a);     }          foo(); // 1     foo(); // 2     foo(); // 3 ?>

関数内のunset()グローバル変数を使用する場合は、$GLOBALSデータを使用して実装できます.
<?php
    function foo(){
        unset($GLOBALS['bar']);
    }
    
    $bar = "someThing";
    foo();
?>