如果已经设置了数组变量,是否需要 ISSET?
Is ISSET necessary if an array variable is already set?
我一直在学习 PHP 变量和数组,并注意到通常会给出这种示例:
<?php
$foo = 1;
if (isset($foo)) {
echo "Foo is set\n";
} else {
echo "Foo is not set\n";
}
?>
既然 $foo 已经在第 2 行设置为 1,为什么还要检查它是否已用 isset 设置?
当然,将变量设置为特定值就足够了:
例如。 $foo=1
,或$myArray = [ ]
;
我了解初始化变量以确保它们不包含不需要的值的重要性,并且我可以理解在您将用户输入到表单的情况下,您可能会得到空字段,这需要已检查,但在数组 仅 由程序员(或已经初始化)填充数据的情况下,肯定 isset
不是必需的。
还是我遗漏了什么?
如果您确定某个变量已设置(如在给出的示例中),则没有必要检查它。 isset
应该用于外部输入,例如来自用户填写表单的输入或正在读取的配置文件,您无法事先确定是否设置了变量。
在这种情况下,对 isset
的调用是无用的,可能只是为了教学目的而显示。
不,没有必要。
isset() 函数用于检查变量是否已设置。在这种情况下,它将 return 为真。
你可以做 if($foo),它会得到 return 相同的结果。
PHP return 中的条件语句如果变量中的值(在您的情况下为 $foo)是 0 以外的任何其他值,则为真。
但是,如果您的变量为 0,并且您要检查它是否已设置,那么它会 return false 但 if(isset($foo))
会 return true。
希望对您有所帮助!
上述代码的 isset()
没有用,因为程序员知道 $foo
已经设置。在检查外部变量或全局变量的外部输入时它非常有用。
假设您有 html 表单,其后有一个提交按钮
<input type="submit" name="click">
然后您需要使用isset()
检查按钮是否被点击
isset($_POST["click"]){
// code
}
我一直在学习 PHP 变量和数组,并注意到通常会给出这种示例:
<?php
$foo = 1;
if (isset($foo)) {
echo "Foo is set\n";
} else {
echo "Foo is not set\n";
}
?>
既然 $foo 已经在第 2 行设置为 1,为什么还要检查它是否已用 isset 设置?
当然,将变量设置为特定值就足够了:
例如。 $foo=1
,或$myArray = [ ]
;
我了解初始化变量以确保它们不包含不需要的值的重要性,并且我可以理解在您将用户输入到表单的情况下,您可能会得到空字段,这需要已检查,但在数组 仅 由程序员(或已经初始化)填充数据的情况下,肯定 isset
不是必需的。
还是我遗漏了什么?
如果您确定某个变量已设置(如在给出的示例中),则没有必要检查它。 isset
应该用于外部输入,例如来自用户填写表单的输入或正在读取的配置文件,您无法事先确定是否设置了变量。
在这种情况下,对 isset
的调用是无用的,可能只是为了教学目的而显示。
不,没有必要。 isset() 函数用于检查变量是否已设置。在这种情况下,它将 return 为真。
你可以做 if($foo),它会得到 return 相同的结果。 PHP return 中的条件语句如果变量中的值(在您的情况下为 $foo)是 0 以外的任何其他值,则为真。
但是,如果您的变量为 0,并且您要检查它是否已设置,那么它会 return false 但 if(isset($foo))
会 return true。
希望对您有所帮助!
isset()
没有用,因为程序员知道 $foo
已经设置。在检查外部变量或全局变量的外部输入时它非常有用。
假设您有 html 表单,其后有一个提交按钮
<input type="submit" name="click">
然后您需要使用isset()
isset($_POST["click"]){
// code
}