$ _SESSION返回Array

时间:2013-05-09 09:41:28

标签: php arrays session key

我有一个$ _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

怎么了?

3 个答案:

答案 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";
     }
}