PHP 逻辑运算符

PHP logical operator

执行isset()时执行下面的检查$_SESSION['mat'] == "1"还是因为第一次为false直接跳过第二次验证?

我有什么疑惑吗?

if(isset($_SESSION['mat']) and $_SESSION['mat']=="1"){}

如果您的 if 语句的第一部分已经 returns false,则不会评估第二部分。您的 if 语句这样看起来不错,不应抛出任何索引越界错误。

When the isset is executed the following check is executed ($ _ SESSION ['mat'] == "1") or the second verification is directly skipped since it is the first false.

isset() 将检查是否设置了变量,否则它将 return false。 if() 语句中的所有代码都将被执行,因此在您的情况下,如果未设置 $_SESSION 数组变量,第二个控件,在您的情况下 and (可以是表示也使用 &&) 将被跳过。