unset函数是php自带的一个销毁变量的函数,我们介绍了利用unset来销毁静态变量与全局变量的方法,同时出可以销毁数组变量哦,下面我们看实例。
例 1. unset() 示例
代码如下 | 复制代码 |
// 销毁单个变量 // 销毁单个数组元素 // 销毁一个以上的变量 |
unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。
如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
代码如下 | 复制代码 |
function destroy_foo() { $foo = ‘bar’; |
上边的例子将输出:
bar
如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
代码如下 | 复制代码 |
function foo(&$bar) { $bar = ‘something’; foo($bar); something |
unset() 静态变量
严格讲,使用 unset() 销毁静态变量,只是断开了变量名和变量值之间的引用。
例子:
代码如下 | 复制代码 |
function foo() { foo(); 1---1 |
unset() 全局变量
同 unset() 静态变量一样,如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
试着比较如下两个例子:
代码如下 | 复制代码 |
function destroy_foo() { $foo = 'bar';
function destroy_foo() { $foo = 'bar'; |
运行第一个例子会输出:bar ,而第二个例子则不会有任何输出。