unset()用于销毁变量,释放内存,可删除变量、数组元素或对象属性,但不重新索引数组,且不能彻底销毁超全局变量。

在PHP中,unset() 函数用于销毁指定的变量。调用该函数后,变量将不再存在,也无法再被访问或使用。这个函数常用于清理不需要的数据,释放内存,或者在特定逻辑中移除数组元素。
基本语法
unset(mixed $var, mixed ...$vars): void
可以传入一个或多个变量,支持变量、数组元素、对象属性等。
示例:
$name = "John";
unset($name);
echo $name; // 不会输出,变量已被销毁
用于数组元素
unset() 常用于删除数组中的某个或某些元素,特别适用于关联数组或索引数组。
立即学习“PHP免费学习笔记(深入)”;
使用原生js ES6实现的分类标签tab切换显示图片预览特效接口。动态设置图片文本获取,实现分类图片tab切换特效。调用下面函数即可 new $isg_Img({data:数据, curType: 初始显示分类, parasitifer: 定位符 });
$fruits = ['apple', 'banana', 'orange'];
unset($fruits[1]); // 删除 'banana'
print_r($fruits); // 输出: [0 => 'apple', 2 => 'orange']
注意:unset() 删除元素后不会重新索引数组。如需重排索引,可配合 array_values() 使用。
重置索引示例:$fruits = array_values($fruits); // 索引变为 0, 1
用于全局变量和超全局变量
可以在函数内部使用 unset() 销毁局部变量,但无法直接销毁超全局变量(如 $_SESSION、$_GET)本身,只能清除其内容。
示例:
unset($_SESSION['user']); // 删除 session 中的 user 数据
// 但不能使用 unset($_SESSION) 彻底销毁它(不推荐且可能无效)
作用于对象属性
可以使用 unset() 删除对象的某个属性(前提是该属性可被访问)。
示例:
class User {
public $name = "Alice";
public $age = 25;
}
$user = new User();
unset($user->age);
var_dump($user); // age 属性已不存在
基本上就这些。unset() 是一个简单但实用的函数,使用时注意作用域和数据结构的影响即可。










