如何在PHP中将变量重置为NULL?

时间:2009-12-06 03:57:23

标签: php scripting variables

我可以使用isset($var)来检查变量是否未定义或为null。 (例如,检查之前是否设置了会话变量)

但是在设置变量后,如何将其重置为默认值,以便isset($var)返回false

5 个答案:

答案 0 :(得分:37)

使用unset($var);

答案 1 :(得分:21)

正如nacmartin所说,unset将“取消定义”一个变量。您也可以将变量设置为null,但这是两种方法的不同之处:

$x = 3; $y = 4;
isset($x);  // true;
isset($y);  // true;

$x = null;
unset($y);
isset($x);  // false
isset($y);  // false

echo $x;  // null
echo $y;  // PHP Notice (y not defined)

答案 2 :(得分:16)

进一步解释:

虽然变量可以为null或不为null,但也可以说变量已设置或未设置。

将变量设置为null,只需

$var = null;

这会使$var null ,相当于false0等等。您仍然可以从$GLOBALS['var']获取变量,因为它仍然是定义/设置的。但是,要从全局和/或本地名称空间中删除变量,请使用

unset($var);

这将使$var根本不设置。您将无法在$GLOBALS中找到。

答案 3 :(得分:1)

此外,您可以将变量设置为null

<?php

$v= 'string';
var_dump(isset($v));
$v= null;
var_dump(isset($v));

?>

答案 4 :(得分:0)

从php 7.2开始,直接设置变量已弃用。您不应以这种方式使用它,而应考虑使用unset。 https://www.php.net/manual/en/language.types.null.php

unset($v);在检查变量是否为null或未设置时将导致相同的false。

isset($v) === false 
is_null($v) === false