2010-07-21 108 views
1

我写了下面的一段代码2会话变量,isset检查!

if((!isset($_SESSION['home'])) || (!isset($_SESSION['away']))) 

我想这应该检查是否这些变量的存在。 如果这些变量中的任何一个不存在,我只会在if语句中显示whats。

但由于某些原因,即使变量100%存在,它仍然显示大括号内的内容。

代码是否错误? 感谢

回答

7

然后,你需要一个 '与'(& &)语句,而不是一个 'OR'(||),如果我理解正确的话......

if((!isset($_SESSION['home'])) && (!isset($_SESSION['away']))) 
+0

它的一个或另一个,只有一个将出席。 我正在逐步完成一个家庭存在的过程,然后取消设置,然后离开,然后当未设置时,我希望它重新出现。 – sark9012 2010-07-21 16:27:44

+0

“但由于某些原因,即使变量100%存在,它仍然显示大括号内的内容。” 如果这是你的愿望,那么你需要检查'&&'你要确保主页和离开都没有设置。 – 2010-07-21 16:30:34

+0

实际上,如果上面的内容真的是OP想要的,甚至可以缩短这个:'if(!isset($ _ SESSION ['home'],$ _SESSION ['away']))''。这是一些很好的语法sugar isset提供,) – NikiC 2010-07-21 16:35:35

1

我想你实际上指的是:

if(!((!isset($_SESSION['home'])) || (!isset($_SESSION['away'])))){ 
    //code if at least one of those variables exists 
}else { 
    //the other thing 
}