array_key_exists throwing error: The second argument should be either an array or an object
array_key_exists throwing error: The second argument should be either an array or an object
我检查了所有 29 篇以前标记为 array_key_exists 的帖子,但找不到解决我的问题的具体问题。我们的服务器最近更新了,我们已经升级到 PHP 5.2.17(是的,我知道这仍然落后,但我们正在解决问题,因为我们继续前进,5.3 导致处理的问题太多了一次,更不用说5.4了)。
我们的网页抛出与 array_key_exists 相关的错误消息:
[ERROR][2][array_key_exists() [function.array-key-exists]: The second
argument should be either an array or an object]
else if(array_key_exists("ACCOUNT", $_SESSION) && $_SESSION["ACCOUNT"] == $target){
// do nothing, we are a-ok
}
在上面的代码中(我认为)我们正在检查当前帐户是否已经设置并存在会话。如果是这样,我们什么都不做。否则我们在此之后的另一个 else 语句中设置会话。
$_SESSION["ACCOUNT"]
正在 cookie 中设置。值 "ACCOUNT" 是子域,也用于识别数据库中的帐户。以下是 cookie 中显示帐户已设置的行。该帐户确实存在。
SESSION[ACCOUNTID] = 39
SESSION[ACCOUNT] = demo
SESSION[PAIDACCOUNT] = 0
我的问题是 php 的那一行现在应该如何编码才能不引发该错误?
谢谢!
您应该使用 isset
而不是
else if(isset($_SESSION["ACCOUNT"]) && $_SESSION["ACCOUNT"] == $target){
// do nothing, we are a-ok
}
我检查了所有 29 篇以前标记为 array_key_exists 的帖子,但找不到解决我的问题的具体问题。我们的服务器最近更新了,我们已经升级到 PHP 5.2.17(是的,我知道这仍然落后,但我们正在解决问题,因为我们继续前进,5.3 导致处理的问题太多了一次,更不用说5.4了)。
我们的网页抛出与 array_key_exists 相关的错误消息:
[ERROR][2][array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object]
else if(array_key_exists("ACCOUNT", $_SESSION) && $_SESSION["ACCOUNT"] == $target){
// do nothing, we are a-ok
}
在上面的代码中(我认为)我们正在检查当前帐户是否已经设置并存在会话。如果是这样,我们什么都不做。否则我们在此之后的另一个 else 语句中设置会话。
$_SESSION["ACCOUNT"]
正在 cookie 中设置。值 "ACCOUNT" 是子域,也用于识别数据库中的帐户。以下是 cookie 中显示帐户已设置的行。该帐户确实存在。
SESSION[ACCOUNTID] = 39
SESSION[ACCOUNT] = demo
SESSION[PAIDACCOUNT] = 0
我的问题是 php 的那一行现在应该如何编码才能不引发该错误?
谢谢!
您应该使用 isset
而不是
else if(isset($_SESSION["ACCOUNT"]) && $_SESSION["ACCOUNT"] == $target){
// do nothing, we are a-ok
}