在此代码中
if ((array_key_exists("id", $_SESSION) AND $_SESSION['id']) OR (array_key_exists("id", $_COOKIE) AND $_COOKIE['id'])) {
header("Location: loggedPage.php");
}
我不知道他们之间有什么不同。有人可以向我解释一下吗?
由于
Minh Phuc
答案 0 :(得分:0)
array_key_exists(“id”, $_SESSION ) :
此行检查$ _SESSION(Array)中是否存在id键,并返回true或false。
$_SESSION['id']) :
此行返回SESSION中的id值或返回NULL
答案 1 :(得分:0)
array_key_exists()
检查数组中是否存在密钥,而不是关心密钥可能携带的值。它可能带有false,null,0等等。
if($_SESSION['ID'])
返回变量的内容,然后将其强制转换为布尔值。
事实证明,isset()
比array_key_exists()
更快。这两者之间的唯一区别是$key => null
将在isset()
上返回 false ,在array_key_exists()
上返回 true