2010-07-21 107 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 
}