我试图了解它之间的区别:
if (isset($_POST['Submit'])) {
//do something
}
和
if ($_POST['Submit']) {
//do something
}
在我看来,如果$ _POST ['Submit']变量为true,那么它就被设置了。在这种情况下,为什么我需要isset()函数?
答案 0 :(得分:20)
由于
$a = array("x" => "0");
if ($a["x"])
echo "This branch is not executed";
if (isset($a["x"]))
echo "But this will";
(另请参阅http://hk.php.net/manual/en/function.isset.php和http://hk.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting)
答案 1 :(得分:4)
如果isset存在则返回TRUE,否则返回TRUE,否则返回FALSE。
答案 2 :(得分:3)
你基本上想要检查是否已经提交了$ _POST []变量,无论其值如何。如果您不使用isset(),则submit=0
之类的某些提交将失败。
答案 3 :(得分:1)
在您的第二个示例中,如果没有为E_NOTICE
设置该密钥,PHP将发出通知($_POST
或更严格)。
答案 4 :(得分:0)
代码
if($_POST['Submit'])
{
//some code
}
不适用于WAMP(适用于xampp)
在WAMP你必须使用
if (isset($_POST['Submit'])) {
//do something
}
试试吧。 :)
答案 5 :(得分:0)
如果用户没有输入值,那么$ _post []返回NULL,我们在isset的描述中说:“
如果isset将返回TRUE,如果它存在则返回TRUE,否则为FALSE。但是在这里isset返回true “