ホームページ > php教程 > php手册 > php unset()销毁单个或多个变量

php unset()销毁单个或多个变量

WBOY
リリース: 2016-05-25 16:47:27
オリジナル
986 人が閲覧しました

unset函数是php自带的一个销毁变量的函数,我们介绍了利用unset来销毁静态变量与全局变量的方法,同时出可以销毁数组变量哦,下面我们看实例.

例 1. unset() 示例

实例代码如下:

<?php 
    // 销毁单个变量 
    unset ($foo); 
    // 销毁单个数组元素 
    unset ($bar[&#39;quux&#39;]); 
    // 销毁一个以上的变量 
    unset ($foo1, $foo2, $foo3); 
?>
ログイン後にコピー

unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同.

如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值.

实例代码如下:

<?php 
    function destroy_foo() { 
    global $foo; 
    unset($foo); 
    } 
    $foo = &#39;bar&#39;; 
    destroy_foo(); 
    echo $foo; 
?>
ログイン後にコピー

上边的例子将输出:

bar
ログイン後にコピー

如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值.

实例代码如下:

<?php 
    function foo(&$bar) { 
    unset($bar); 
    $bar = "blah"; 
    } 
    $bar = &#39;something&#39;; 
    echo "$bar\n"; 
    foo($bar); 
    echo "$bar\n"; 
?>
ログイン後にコピー

上边的例子将输出:

something
something
ログイン後にコピー

unset() 静态变量,严格讲,使用 unset() 销毁静态变量,只是断开了变量名和变量值之间的引用.

例子,实例代码如下:

<?php 
    function foo() { 
        static $b; 
        $a++; 
        $b++; 
        echo "$a---$bn"; 
        unset($a,$b); 
        var_dump($a); 
        var_dump($b); 
        echo "######################n"; 
    } 
    foo(); 
    foo(); 
    foo(); 
?>
ログイン後にコピー

运行该例子,输出:

1---1
NULL
NULL
#######################
1---2
NULL
NULL
#######################
1---3
NULL
NULL
#######################
ログイン後にコピー

unset() 全局变量,同 unset() 静态变量一样,如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值.

试着比较如下两个例子:

实例代码如下:

<?php 
    function destroy_foo() { 
        global $foo; 
        unset($foo); 
    } 
    $foo = &#39;bar&#39;; 
    destroy_foo(); 
    echo $foo; 
?>
<?php
    function destroy_foo() { 
        global $foo; 
        unset($GLOBALS[&#39;foo&#39;]); 
    } 
    $foo = &#39;bar&#39;; 
    destroy_foo(); 
    echo $foo; 
?>
ログイン後にコピー

运行第一个例子会输出:bar ,而第二个例子则不会有任何输出.


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート