[初探PHP] unset() 函数

unset
php

-- 释放给定的变量函数

描述: spa

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

unset() 销毁指定的变量code

例子1.unset()示例作用域

<?php
    //销毁单个变量
    unset ($foo);

    //销毁单个数据元素
    unset ($bar['quux']);

    // 销毁一个以上的变量
    unset ($foo1, $foo2, $foo3);
?>

        若是在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 以前同样的值。io

<?php
    function foor(){
        qlbal $foo;
        unset($foo); // 这里unset()的做用域只在这个foor()函数中
    }
    
    $foo = 'bar';
    foor();
    echo $foo; // bar
?>

        若是在函数中 unset() 一个经过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 以前同样的值。function

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

        若是在函数中 unset() 一个静态变量,则 unset() 将销毁此变量及其全部的引用。class

<?php
    function foo(){
        static $a;
        $a++;
        echo "$a\n";
        unset($a);
    }
    
    foo(); // 1
    foo(); // 2
    foo(); // 3
?>

        若是你想在函数中 unset() 一个全局变量,可以使用 $GLOBALS 数据来实现。变量

<?php
    function foo(){
        unset($GLOBALS['bar']);
    }
    
    $bar = "someThing";
    foo();
?>
相关文章
相关标签/搜索