我有这段代码可以在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']; }
此外,如果我没有得到这个名字 - 是因为超时问题还是其他原因?
由于
答案 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']; }