php销毁变量,PHP unsert() 销毁变量

unset() 用于销毁一个或多个变量。

unset()

PHP unset() 用于销毁一个或多个变量,没有返回值。

语法:

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

例子:

// 销毁单个变量

unset ($var);

// 销毁单个数组元素

unset ($arr['a']);

// 销毁多个变量

unset ($var1, $var2, $var3);

?>

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 ,而第二个例子则不会有任何输出。

提示

在很多情况下,可以让 PHP 自动管理变量而无需考虑 unset() 变量。只有在特定的,需要某个变量必须为空的时候才使用到。如:用户退出登录时,为了确保信息的安全性,可以用 unset() 清空 session 的内容。

unset() 尽量不要用在静态变量上,因为这与定义静态变量的初衷相悖。

unset() 是一个语言结构而非函数,因此它无法被变量函数调用。

参考阅读

isset():检测变量是否设置

empty():检测一个变量是否为空

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值