Facebook连接 - api_client-> users_getInfo抛出错误不能将字符串偏移用作数组

时间:2010-04-23 21:11:10

标签: facebook

我有这段代码可以在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 个答案:

答案 0 :(得分:0)

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

magic_quotes_gpc = Off

答案 1 :(得分:0)

$user_details=$fb->api_client->users_getInfo($fb_user, array('last_name','first_name','proxied_email'));
            if (!is_array($user_details)) {
                $firstName='';
                $lastName='';
            }
            else
            {
                $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'];
            }