Rob*_*cks 22 php variables scripting
我可以isset($var)用来检查变量是否未定义或为null.(例如,检查之前是否设置了会话变量)
但是在设置变量后,如何将其重置为默认值以便isset($var)返回false?
nic*_*ckf 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)
Run Code Online (Sandbox Code Playgroud)
mau*_*ris 16
进一步说明:
虽然变量可以为null或不为null,但也可以说变量已设置或未设置.
简单地将变量设置为null
$var = null;
Run Code Online (Sandbox Code Playgroud)
这将使$var null,等效于false,0等等.您仍然可以从变量中获取变量,$GLOBALS['var']因为它仍然是定义/设置的.但是,要从全局和/或本地命名空间中删除变量,请使用
unset($var);
Run Code Online (Sandbox Code Playgroud)
这将$var完全没有设置.你将无法找到$GLOBALS.