【发布时间】:2019-04-21 16:50:12
【问题描述】:
当isset()被执行时会执行下面的检查$_SESSION['mat'] == "1"还是因为第一次为假而直接跳过第二次验证?
我有什么疑问吗?
if(isset($_SESSION['mat']) and $_SESSION['mat']=="1"){}
【问题讨论】:
标签: php session if-statement logical-operators
当isset()被执行时会执行下面的检查$_SESSION['mat'] == "1"还是因为第一次为假而直接跳过第二次验证?
我有什么疑问吗?
if(isset($_SESSION['mat']) and $_SESSION['mat']=="1"){}
【问题讨论】:
标签: php session if-statement logical-operators
如果您的 if 语句的第一部分已经返回 false,则不会计算第二部分。你的 if 语句看起来不错,不应该抛出任何索引越界错误。
【讨论】:
执行 isset 时执行以下检查 ($ _ SESSION ['mat'] == "1") 或直接跳过第二次验证,因为它是第一次为假。
isset() 将检查是否设置了变量,否则将返回 false。 if() 语句中的所有代码都将被执行,因此在您的情况下,如果未设置 $_SESSION 数组变量,则第二个控件,在您的情况下为 and(也可以使用 && 表示)将被跳过。
【讨论】: