我有一个$ _SESSION ['errors'],print_r返回Array([0] =>字段)。但是当我尝试这个时:
$errors = $_SESSION['error'];
if(array_key_exists (0, $error)) {echo "yes";} else{echo "no";}
它输出错误:警告:array_key_exists()期望参数2为数组,在第7行的C:\ wamp \ www \ sandbox \ formvalidation \ formvalidation.php中给出null
怎么了?
答案 0 :(得分:0)
您收到该错误,因为$ _SESSION数组中的'errors'
键不存在。 $ _SESSION是一个数组,但'errors'
键尚未设置或没有数组值。
使用此功能不会出现错误:
$errors = is_array($_SESSION['errors']) ? $_SESSION['errors'] : array();
这使用三元运算符基本上说:
$errors = IS ERRORS AN ARRAY ? YES : NO;
If yes, assign $_SESSION['errors'] to $errors;
If no, assign array() to $errors;
答案 1 :(得分:0)
如果要在其上使用array_key_exists(),请确保$ errors是一个多维数组
答案 2 :(得分:0)
尝试使用is_arry
if(is_array($errors))
{
if(array_key_exists (0, $errors))
{
echo "yes";
}
else
{
echo "no";
}
}