如何查找 if(isset($_SESSION['id'])) 是否为 FALSE

How to find if(isset($_SESSION['id'])) is FALSE

我在我的应用程序的每个页面上使用 $_SESSION 全局变量,以便我可以使用登录功能控制对我的站点的访问。而不是使用以下搜索 TRUE else FALSE 的路径,如下例所示,如何反转条件?

<?php
if (isset($_SESSION['id'])) {
    echo $_SESSION['id'];
} else {
    echo "You are not logged in!";
}
?>

看看 PHP 手册中的 logical operators,你的问题已经解决并且那里解释得很好。所以,请看一看。


在这种情况下

如果你想扭转你的 if 陈述,你应该这样做:

<?php
if (!isset($_SESSION['id'])) {
    echo "You are not logged in!";
} else {
    echo $_SESSION['id'];
}
?>

简单的说: !表示不是

在这种特殊情况下,您使用的是 ! 运算符,这意味着您正在扭转您的 if 语句,如果它是 true.所以,如果它是 isset() 但你添加了 ! 运算符,你检查它是否是 notisset(),在某种程度上,"not"是一个!


手册

手册是这样写的:如果$a 不正确,则if(!$a){}正确

我想你正在找这个?你只需要用 ! 否定 isset,所以你实际上是在说 IF NOT / ELSE 而不是 IF / ELSE

 <?php
 if ( !isset( $_SESSION['id'] ) ) {
      echo "You are not logged in!";
 } else {
      echo $_SESSION['id'];
 }

一个感叹号!等于"not",比如

if (!isset(...etc...