2016-11-14 88 views
0

在此代碼

if ((array_key_exists("id", $_SESSION) AND $_SESSION['id']) OR (array_key_exists("id", $_COOKIE) AND $_COOKIE['id'])) { 

    header("Location: loggedPage.php"); 

} 

我不知道他們之間的不同。有人可以向我解釋嗎?

感謝

胡志明市福

+0

首先檢查,以確保關鍵存在。第二個檢查值是否爲truthy(即不是0,null或false) – aynber

+0

你不想知道代碼的作用,或者你想知道會話和cookie之間的區別嗎? – icecub

+0

你知道cookie可以在客戶端操作!?第一條評論是對你的問題的回答,這是對你的代碼的評論。 – JOUM

回答

0
array_key_exists(「id」, $_SESSION) : 

此行檢查ID鍵是否存在於$ _SESSION(陣列),並返回true或false。

$_SESSION['id']) : 

此行返回ID的會話中值或返回NULL

0

array_key_exists()檢查數組中是否存在的關鍵,不關心的重點可能會攜帶什麼樣的價值。它可能帶有假,空,0等。

if($_SESSION['ID'])返回變量的內容,之後它被轉換爲布爾值

已證明isset()array_key_exists()快。兩者之間唯一的區別是$key => null將在isset()真正返回array_key_exists()