php之unset()详解
来源:互联网 发布:羊绒大衣 知乎 编辑:程序博客网 时间:2024/06/11 20:22
unset
(PHP 4, PHP 5)
unset — 释放给定的变量
说明
void unset ( mixed
$var
[, mixed $...
] )unset() 销毁指定的变量。
unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。
如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
<?php
function destroy_foo() {
global $foo;
unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo;
?>
以上例程会输出:
bar
如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现:
<?php
function foo()
{
unset($GLOBALS['bar']);
}
$bar = "something";
foo();
?>
如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset()之前一样的值。
<?php
function foo(&$bar) {
unset($bar);
$bar = "blah";
}
$bar = 'something';
echo "$bar\n";
foo($bar);
echo "$bar\n";
?>
以上例程会输出:
somethingsomething
如果在函数中 unset() 一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。
<?php
function foo()
{
static $bar;
$bar++;
echo "Before unset: $bar, ";
unset($bar);
$bar = 23;
echo "after unset: $bar\n";
}
foo();
foo();
foo();
?>
以上例程会输出:
Before unset: 1, after unset: 23Before unset: 2, after unset: 23Before unset: 3, after unset: 23
参数
var
要销毁的变量。
...
其他变量……
返回值
没有返回值。
更新日志
范例
Example #1 unset() 示例
<?php
// 销毁单个变量
unset ($foo);
// 销毁单个数组元素
unset ($bar['quux']);
// 销毁一个以上的变量
unset($foo1, $foo2, $foo3);
?>
Example #2 使用 (unset) 类型强制转换
(unset) 类型强制转换常常和函数 unset() 引起困惑。 为了完整性,(unset) 是作为一个 NULL 类型的强制转换。它不会改变变量的类型。
<?php
$name = 'Felipe';
var_dump((unset) $name);
var_dump($name);
?>
以上例程会输出:
NULLstring(6) "Felipe"
注释
参见
- isset() - 检测变量是否设置
- empty() - 检查一个变量是否为空
- __unset()
- array_splice() - 把数组中的一部分去掉并用其它值取代
0 0
- php之unset()详解
- php unset()详解
- php 之unset
- php unset
- PHP如何释放内存之unset销毁变量并释放内存详解
- php基础之isset unset和empty
- php之重载__get() __set() isset() unset() __call() __callStatic()
- 关于PHP的unset:
- 关于php的unset
- php unset函数执行
- php 函数unset
- php的unset机制
- php中对象的unset。
- php unset和array_splice区别
- PHP array unset by value
- PHP unset()函数销毁变量
- php set get asset unset
- php的unset()与引用
- Override ListView getAdapter造成的后果
- NYOJ-220 推桌子
- java中的Volatile 变量
- matlab 遍历文件夹内文件
- 日语特殊汉子的规则
- php之unset()详解
- Problem 1 ---- euler
- CString格式化
- Python模块:配置文件解析器configparser
- 编程计算3乘8等于几,什么方法效率更高?
- 协议在ios中的使用
- 刚刚发货计划
- 编写程序计算12+22+32+....+1002的和.
- 6、 声明类Student,包含3个成员变量:name、age、score,