什么使变量存在PHP?

时间:2017-10-15 15:25:46

标签: php

我一直在https://secure.php.net/manual/en/function.isset.php的PHP网站上查看isset()的文档。该函数的返回值显然如下:

  

如果var存在且值不是NULL,则返回TRUE。否则就错了。

设置为NULL的变量和未设置的变量之间有什么区别?如果$variable = NULL是真的吗? isset($variable)将返回FALSE,表示该变量未设置?

编辑:那么我如何能够区分值为NULL的变量和不存在的变量?

1 个答案:

答案 0 :(得分:1)

  

设置为NULL的变量和未设置的变量之间的区别是什么?

查看resolve表#1(| Expression | gettype() | empty() | is_null() | isset() | if($x) | |-----------------+-----------+---------+-----------+---------+--------| | $x = null; | NULL | TRUE | TRUE | FALSE | FALSE | | var $x; | NULL | TRUE | TRUE | FALSE | FALSE | | $x is undefined | NULL | TRUE | TRUE | FALSE | FALSE | 与PHP函数的比较)。 #2-#4行读了:

$x

你能发现它们之间有什么区别吗?我也不是。

但有一点不同。如果未定义变量if($x)PHP types comparisongettype($x)NULL以及尝试获取其值的任何代码都会触发通知(“注意:未定义的变量: X“)。 is_null()empty()在他们的论证不存在时不会触发任何错误,警告或通知,因为他们的目的是对他们的论证的存在和价值进行分类。

  

那么我如何才能区分值为NULL的变量和不存在的变量?

除了如上所述触发的通知之外,值为NULL的变量与不存在的变量之间没有区别。即使通知只是提示代码中可能存在的错误或提高其可读性的方法,但无论有没有,行为都是一样的。

我无法弄清楚从存储componentDidMount的变量中分离未定义变量的任何实际用法。

  

什么使变量存在PHP?

PHP中存在一个变量,因为它首次被赋值为isset()或者代码退出unset()(以先到者为准)。