【发布时间】:2016-08-28 22:14:47
【问题描述】:
编辑:
if(array_key_exists($errcode, $Errors)){
$Data['status'] = -1;
$Data['err'] = array(
"err_code" => $errcode,
"err_str" => $Errors[$errcode]
);
}
我很难确定数组中是否存在键,我尝试使用 array_key_exists 方法,但没有运气!我也试过 empty($array[$key]) 似乎返回相同的通用错误而不是特定错误。
调用 err(null, 3) 会输出:
{
"status": -1,
"err": {
"err_code": null,
"err_str": "Generic error"
}
}
我尝试使用返回布尔值的array_key_exists 方法,但它似乎不起作用,这是为什么呢?
My site should output error 5: Invalid
//Errors ENUM
$Errors = array(
0 => "Cannot parse <GameID>",
1 => "Invalid steam session",
2 => "Invalid <GameID>, non-numeric",
3 => "SQL Connection refused",
4 => "SQL Query error",
5 => "invalid <GameID>"
);
function err($status, $errcode){
if(isset($errcode)){
if($Errors[$errcode] != null){
$Data['status'] = -1;
$Data['err'] = array(
"err_code" => $errcode,
"err_str" => $Errors[$errcode]
);
} else {
$Data['status'] = -1;
$Data['err'] = array(
"err_code" => null,
"err_str" => "Generic error"
);
}
} else {
$Data['status'] = $status;
$Data['err'] = array(
"err_code" => null,
"err_str" => null
);
}
echo(json_encode($Data, 128 | 32));
}
【问题讨论】:
-
告诉我们你是如何尝试使用
array_key_exists函数的。 -
array_key_exists()返回 BOOL?这怎么行不通? 正是它应该返回的内容。 -
问题是变量作用域:
$Errors没有在err()函数中定义。