当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-17 12:48:52 浏览: 评论:0 

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

Tags: unset

分享到: