用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

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

时间:2015-01-23  来源:西部数据  作者:西部数据

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

例 1. unset() 示例

实例代码如下:

  1. <?php 
  2. // 销毁单个变量 
  3. unset ($foo); 
  4. // 销毁单个数组元素 
  5. unset ($bar['quux']); 
  6. // 销毁一个以上的变量 
  7. unset ($foo1$foo2$foo3); 
  8. ?> 

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

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

实例代码如下:

  1. <?php 
  2. function destroy_foo() { 
  3. global $foo
  4. unset($foo); 
  5. $foo = ‘bar’; 
  6. destroy_foo(); 
  7. echo $foo
  8. ?> 

上边的例子将输出:

bar

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

实例代码如下:

  1. <?php 
  2. function foo(&$bar) { 
  3. unset($bar); 
  4. $bar = “blah”; 
  5. $bar = ‘something’; 
  6. echo “$barn”; 
  7. foo($bar); 
  8. echo “$barn”; 
  9. ?> 

上边的例子将输出:

something

something

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

例子,实例代码如下:

  1. <?php 
  2. function foo() { 
  3.     static $b
  4.     $a++; 
  5.     $b++; 
  6.     echo "$a---$bn"
  7.     unset($a,$b); 
  8.     var_dump($a); 
  9.     var_dump($b); 
  10.     echo "######################n"
  11. foo(); 
  12. foo(); 
  13. foo(); 
  14. ?> 

运行该例子,输出:

1---1

NULL

NULL

#######################

1---2

NULL

NULL

#######################

1---3

NULL

NULL

#######################

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

试着比较如下两个例子:

实例代码如下:

  1. <?php 
  2. function destroy_foo() { 
  3.     global $foo
  4.     unset($foo); 
  5. $foo = 'bar'
  6. destroy_foo(); 
  7. echo $foo
  8. ?> 
  1. <?php 
  2.  
  3. function destroy_foo() { 
  4.     global $foo
  5.     unset($GLOBALS['foo']); 
  6. $foo = 'bar'
  7. destroy_foo(); 
  8. echo $foo
  9. ?> 

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

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门