当执行isset()
时,执行以下检查$_SESSION['mat'] == "1"
,还是由于第一次验证为false而直接跳过第二次验证?
我有疑问吗?
if(isset($_SESSION['mat']) and $_SESSION['mat']=="1"){}
如果If语句的第一部分已经返回false
,则不会计算第二部分。这样一来,if语句看起来不错,不应该抛出任何索引越界错误。
执行isset时,将执行以下检查($_SESSSION['mat']=="1"(,或者直接跳过第二次验证,因为它是第一次错误。
isset()
将检查是否设置了变量,否则将返回false。if()
语句中的所有代码都将被执行,因此在您的情况下,如果未设置$_SESSION
数组变量,则将跳过第二个控件,在您的例子中为and
(也可以使用&&表示(。