📅  最后修改于: 2023-12-03 15:18:21.375000             🧑  作者: Mango
unset()
函数用于删除某个变量。使用此函数可释放变量占用的内存,同时也将该变量从其所在的作用域中移除。
bool unset(mixed $var [, mixed $... ])
其中,要删除的变量以参数列表形式传递给函数。可同时删除多个变量,参数之间以逗号分隔。函数返回一个布尔值,表示是否成功删除了变量。如果变量不存在,则返回 false
。
$var
:要删除的变量,可以是任何一种 PHP 变量类型。
该函数返回一个布尔值,表示是否成功删除了变量。如果变量不存在,则返回 false
。
// 删除单个变量
$foo = 'hello world';
unset($foo);
echo $foo; // 输出:Notice: Undefined variable: foo in ...
// 删除多个变量
$foo = 'hello';
$bar = 'world';
unset($foo, $bar);
echo $foo; // 输出:Notice: Undefined variable: foo in ...
echo $bar; // 输出:Notice: Undefined variable: bar in ...
// 删除数组元素
$arr = ['foo', 'bar', 'baz'];
unset($arr[1]);
print_r($arr); // 输出:Array ( [0] => foo [2] => baz )
// 删除对象属性
$obj = new stdClass;
$obj->foo = 'bar';
$obj->bar = 'baz';
unset($obj->foo);
print_r($obj); // 输出:stdClass Object ( [bar] => baz )
false
。$arr
中的第一个元素,函数将会将 $arr[0]
设为 null
,并不会删除该元素所在的键。如果需要删除键名,可使用 array_values()
函数重新索引数组。unset()
函数(建议不要这样做,会对代码可读性产生不良影响)。