我一直在学习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
。
或者我错过了什么?
答案 0 :(得分:1)
如果您确定已设置变量(如给出的示例中所示),则检查它是没有意义的。 isset
应该用于外部输入,例如填写表单的用户输入或正在读取的配置文件,您无法确定变量是否已设置。
在这种情况下,对isset
的调用毫无用处,可能只是出于教学目的而显示。
答案 1 :(得分:0)
不,没有必要。 isset()函数用于检查是否设置了变量。在这种情况下,它将返回true。
你可以做if($ foo),它会返回相同的结果。 如果变量中的值(在您的情况下是$ foo)是除0之外的任何其他值,则PHP中的条件语句返回true。
但是如果你的变量为0并且你要检查它的设置与否,那么它将返回false但是if(isset($foo))
将返回true。
希望它有所帮助!
答案 2 :(得分:0)
isset()
没有用,因为程序员知道$foo
已经设置好了。在检查外部变量或全局变量的外部输入时非常有用。
假设您有一个带有以下提交按钮的html表单
<input type="submit" name="click">
然后,您需要使用isset()
isset($_POST["click"]){
// code
}