代码之家  ›  专栏  ›  技术社区  ›  Gublooo

facebook connect-api_client->users_getinfo throws error不能将字符串偏移量用作数组

  •  1
  • Gublooo  · 技术社区  · 15 年前

    我有这段代码,90%的时间都在工作:

    $user_details=$fb->api_client->users_getInfo($fb_user, array('last_name','first_name','proxied_email'));
    $firstName=$user_details[0]['first_name'];
    

    但有时我会得到这个错误:

    Fatal error: Cannot use string offset as an array for line
    $firstName=$user_details[0]['first_name'];
    

    我读过几篇报道同一个问题的文章,但我仍然不清楚是什么原因导致了这个错误,是因为Facebook没有返回任何结果,还是因为它只返回一个数组,而不是数组。

    这就是我想解决的问题:

    if (!is_array($user_details)) {
    $firstName='';
    }
    else
    {
    $firstName = ($user_details[0]) ? $user_details[0]['first_name'] : $user_details['first_name'];
    }
    

    另外,如果我没有得到这个名字——是因为超时问题还是其他原因?

    谢谢

    2 回复  |  直到 13 年前
        1
  •  0
  •   Gublooo    15 年前
    $user_details=$fb->api_client->用户获取信息($fb_user,array('last_name','first_name','proxied_email'));
    如果(!)是数组($user\u details))。{
    $1.
    $LASTEND='';
    }
    其他的
    {
    $firstname=($user_details[0])?$user_details[0]['first_name']:$user_details['first_name'];
    $lastname=($user_details[0])?$user_details[0]['last_name']:$user_details['last_name'];
    }
    
        2
  •  0
  •   Florent Joice    13 年前

    只需修改您的 php.ini 并设置参数或添加:

    magic_quotes_gpc = Off
    
    推荐文章