2012-11-30 57 views
-4
$fql_query_url = 'https://graph.facebook.com/' 
    . '/fql?q=SELECT+uid2+FROM+friend+WHERE+uid1=me()' 
    . '&access_token=' . $access_token; 
$fql_query_result = file_get_contents($fql_query_url); 
$fql_query_obj = json_decode($fql_query_result, true); 

foreach ($fql_query_obj['data'] as $row) { 
    echo $row['uid2']; 
    echo ','; 
} 

預期的結果是給我的錯誤

xxxx,xxxx,xxxx,xxxx,xxx,xxxx 

這是工作,是越來越所有ID逗號分隔 但現在它顯示錯誤

Warning: Invalid argument supplied for foreach() in xxxx.php 

Some1請幫

+0

請正確設置您的問題。 – Tadeck

+1

'print_r($ fql_query_obj)' - 這會告訴你什麼? – ThiefMaster

+0

@ThiefMaster:我想問'var_dump($ fql_query_obj)',但是你的選擇可以。 – Tadeck

回答

0

嘗試

foreach ($fql_query_obj['data'] as $row) { 
    echo $row ; 
    echo ','; 

} 

如果$fql_query_obj是一個二維數組,如果它的一維數組,然後嘗試

foreach ($fql_query_obj as $row) { 
    echo $row ; 
    echo ','; 

} 
0

做一個

var_dump($fql_query_obj['data']) 

,並查看結果,以確保您的數據是正確的格式。

這很可能是facebook返回錯誤或格式不正確的結果。

if(!is_array($fql_query_obj['data'])){ 
    return false; 

什麼:你將需要添加邏輯趕上這一點,最有可能的,這樣你的foreach循環只有一次您驗證該項目是一個數組執行。