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

WBOY
发布: 2016-07-13 17:14:40
原创
1263 人浏览过

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

例 1. unset() 示例

 代码如下 复制代码

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

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

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

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

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

 代码如下 复制代码

function destroy_foo() {
global $foo;
unset($foo);
}

$foo = ‘bar’;
destroy_foo();
echo $foo;
?>

上边的例子将输出:

bar

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

 代码如下 复制代码

function foo(&$bar) {
unset($bar);
$bar = “blah”;
}

$bar = ‘something’;
echo “$barn”;

foo($bar);
echo “$barn”;
?>
上边的例子将输出:

something
something

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

例子:

 代码如下 复制代码

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() 之前一样的值。

试着比较如下两个例子:

 代码如下 复制代码

function destroy_foo() {
    global $foo;
    unset($foo);
}

$foo = 'bar';
destroy_foo();
echo $foo;
?>

function destroy_foo() {
    global $foo;
    unset($GLOBALS['foo']);
}

$foo = 'bar';
destroy_foo();
echo $foo;
?>


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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/628977.htmlTechArticleunset函数是php自带的一个销毁变量的函数,我们介绍了利用unset来销毁静态变量与全局变量的方法,同时出可以销毁数组变量哦,下面我们看...
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!