0

我试图理解 PHPisset()is_null()函数是如何彼此不同的。

我确实理解它们与手册的区别,但无法举出任何示例说明我何时绝对需要使用一种功能而不是另一种功能。

似乎我可以使用其中一个,这并不重要,除非引用不存在时isset不会引发错误,而会。Noticeis_null

如果我抑制此类错误,那么就功能而言,这两个功能将完全相同。

我理解正确了吗?

4

1 回答 1

3

null没有任何意义,没有价值,而您使用isset()say if a variable isset,例如..

$var = null;

isset($var); //returns false, checks whether the variable isset, 
             //but it's null so will return false

is_null($var); //Returns true, checks whether the value of variable is null

文档

如果一个变量已经用 取消设置unset(),它将不再被设置。 如果测试已设置为 的变量, isset()将返回。FALSENULL

更进一步,我们改变变量值

$var = 'hello';
isset($var); //will return true as the variable is no more null
is_null($var); //will return false as variable holds a string now

如果我抑制此类错误

不,你不应该,总是打开错误报告,编写糟糕的代码无论如何都不会帮助你。

于 2014-03-01T06:16:39.413 回答