我有這樣的一段代碼,其工作90%的時間:Facebook的連接 - api_client-> users_getInfo拋出錯誤不能使用字符串數組offset
$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']; }
另外,如果我沒有得到的名字 - 是不是因爲超時問題還是其他什麼東西的?
感謝
我也同時希望在我的錯誤日誌碰上這個問題幾次。我沒有添加更詳細的日誌來捕捉它。只是認爲這是由於無效的fb_id或什麼。我今晚晚些時候會檢查一下。 – Jayrox 2010-04-23 21:40:00
Gublooo,我仍然在等待它再次發生;我沒有改變那部分流程中的任何東西。只是想檢查一下讓你知道我還沒忘記。 – Jayrox 2010-04-30 05:34:27
感謝 - 它非常奇怪 - 對於同一個用戶 - 我試過它像30次和29次它工作正常 - 它只發生過一次 - 所以我不知道如何重複它 - 儘管我的2個測試用戶報告過這個問題給我,當我檢查他們的帳戶 - 臉書還沒有返回他們的名字......如此丟失 – Gublooo 2010-05-01 00:57:50