为什么我需要 php 中的 isset() 函数?
我试图理解这之间的区别:
if (isset($_POST['Submit'])) {
//do something
}
在
if ($_POST['Submit']) {
//do something
}
我看来,如果 $_POST['Submit'] 变量为 true,则它被设置。在这种情况下为什么需要 isset() 函数?
I am trying to understand the difference between this:
if (isset($_POST['Submit'])) {
//do something
}
and
if ($_POST['Submit']) {
//do something
}
It seems to me that if the $_POST['Submit'] variable is true, then it is set. Why would I need the isset() function in this case?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
因为
(另请参阅 http://hk.php.net/manual/en/function .isset.php 和 http://hk.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting)
Because
(See also http://hk.php.net/manual/en/function.isset.php and http://hk.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting)
如果 isset 存在且不为 NULL,则返回 TRUE,否则返回 FALSE。
isset will return TRUE if it exists and is not NULL otherwise it is FALSE.
您基本上想要检查 $_POST[] 变量是否已提交,无论其值如何。如果您不使用 isset(),某些提交(例如
submit=0
)将会失败。You basically want to check if the $_POST[] variable has been submitted at all, regardless of value. If you do not use isset(), certain submissions like
submit=0
will fail.在第二个示例中,如果未为
$_POST
设置该键,PHP 将发出通知(在E_NOTICE
或更严格)。另请参阅Stack Overflow 上的此问题。
In your 2nd example, PHP will issue a notice (on
E_NOTICE
or stricter) if that key is not set for$_POST
.Also see this question on Stack Overflow.
该代码
无法在 WAMP 中运行(可以在 xampp 中运行)
在 WAMP 上你将不得不使用
尝试一下。 :)
The code
will not work in WAMP (works on xampp)
on WAMP you will have to use
try it. :)
如果用户不输入值,那么 $_post[] 返回 NULL,我们在 isset 的描述中说:“
如果 isset 存在且不为 NULL,则返回 TRUE,否则返回 FALSE。,但在这里 isset 返回 true
”
if user do not enter a value so $_post[] return NULL that we say in the description of isset:"
isset will return TRUE if it exists and is not NULL otherwise it is FALSE.,but in here isset return the true
"