array_key_exists(" id",$ _SESSION)和$ _SESSION [' id]之间的区别;

时间:2016-11-14 21:39:34

标签: php

在此代码中

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

    header("Location: loggedPage.php");

}

我不知道他们之间有什么不同。有人可以向我解释一下吗?

由于

Minh Phuc

2 个答案:

答案 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