ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# unset 函数 >[success]unset()函数用来销毁指定变量,即可以销毁单一变量,也可以销毁数组中的变量,通过这个特性,来删除数组中某个元素。 ## unset()函数 >[info]释放给定的变量 ~~~ void unset ( mixed $var [, mixed $... ] ) ~~~ >[info] unset() 销毁指定的变量。 >[danger]unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。 >如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值 ## 如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现: ~~~ <?php function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo(); ?> ~~~ >[danger]如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。 ### 实例 ~~~ <?php function foo(&$bar) { unset($bar); $bar = "changed"; } $bar = 'this is bar!'; echo "$bar\n"; foo($bar); echo "$bar\n"; ~~~ ![输入结果](https://box.kancloud.cn/0dc16701e34ba2d0041c5098a80ccc86_894x237.png) >[danger] 注意传址(引用)传递的变量,只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。