区分NULL和PHP中未定义

时间:2014-03-22 20:28:40

标签: php null isset

是否有任何方法可以区分尚未定义或已定义的变量,但设置为“空”'

2 个答案:

答案 0 :(得分:1)

可能不是。

您可以阅读有关NULL here的内容。

再多挖一次后,可以使用get_defined_vars()并检查变量名是否为返回数组中的键。

即使将var指定为NULL,也可以这样做。

答案 1 :(得分:0)

如果$ GLOBALS包含某个密钥,您可以检查它。不适用于函数内定义的变量:

array_key_exists('variable name', $GLOBALS);

对于对象,请检查* property_exists * function。


虽然,我建议您避免创建任何依赖于(存在)任何变量的代码。如果使用var,则应从脚本/对象实例化的开始定义。如果你必须携带更多的信息,你可以保持value / null,你不应该使用value / null / unset方式,你可能想要创建另一个boolean var等。我建议创建一个赢得&#39的代码; t因为对不存在的变量的操作而发出任何E_NOTICE。