unset 释放给定的变量
发表日期:2021-07-01 08:57:22 | 来源: | | 浏览(1035) 分类:变量处理 函数
unset
(PHP 4, PHP 5, PHP 7, PHP 8)
unset — 释放给定的变量
说明
$var
, mixed $...
= ?): voidunset() 销毁指定的变量。
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"; ?>
以上例程会输出:
something something
如果在函数中 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: 23 Before unset: 2, after unset: 23 Before unset: 3, after unset: 23
参数
-
var
-
要销毁的变量。
-
...
-
其他变量……
返回值
没有返回值。
范例
示例 #1 unset() 示例
<?php // 销毁单个变量unset ($foo); // 销毁单个数组元素unset ($bar['quux']); // 销毁一个以上的变量unset($foo1, $foo2, $foo3); ?>
示例 #2 使用 (unset)
类型强制转换
(unset)
类型强制转换常常和函数 unset() 引起困惑。
为了完整性,(unset)
是作为一个 NULL
类型的强制转换。它不会改变变量的类型。
<?php $name = 'Felipe'; var_dump((unset) $name); var_dump($name); ?>
以上例程会输出:
NULL string(6) "Felipe"
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- boolval 获取变量的布尔值(0)
- debug_zval_dump Dumps a string representation of an internal zval structure to output(0)
- doubleval floatval() 的别名(0)
- empty 检查一个变量是否为空(0)
- floatval 获取变量的浮点值(0)
- get_debug_type Gets the type name of a variable in a way that is suitable for debugging(0)
- get_defined_vars 返回由所有已定义变量所组成的数组(0)
- get_resource_id Returns an integer identifier for the given resource(0)
- get_resource_type 返回资源(resource)类型(0)
- gettype 获取变量的类型(0)
- intval 获取变量的整数值(0)
- is_array 检测变量是否是数组(0)
- is_bool 检测变量是否是布尔值(0)
- is_callable 检测参数是否为合法的可调用结构(0)
- is_countable Verify that the contents of a variable is a countable value(0)
- is_double is_float() 的别名(0)
- is_float 检测变量是否是浮点型(0)
- is_int 检测变量是否是整数(0)
- is_integer is_int() 的别名(0)
- is_iterable Verify that the contents of a variable is an iterable value(0)
- is_long is_int() 的别名(0)
- is_null 检测变量是否为 null(0)
- is_numeric 检测变量是否为数字或数字字符串(0)
- is_object 检测变量是否是一个对象(0)
- is_real is_float() 的别名(0)
- is_resource 检测变量是否为资源类型(0)
- is_scalar 检测变量是否是一个标量(0)
- is_string 检测变量是否是字符串(0)
- isset 检测变量是否已设置并且非 null(0)
- print_r 以易于理解的格式打印变量。(0)
- serialize 产生一个可存储的值的表示(0)
- settype 设置变量的类型(0)
- strval 获取变量的字符串值(0)
- unserialize 从已存储的表示中创建 PHP 的值(0)
- unset 释放给定的变量(0)
- var_dump 打印变量的相关信息(0)
- var_export 输出或返回一个变量的字符串表示(0)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)