-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 请帮忙

4

2 回答 2

0

尝试

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

}

如果$fql_query_obj是二维数组,如果是一维数组,则尝试

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

}
于 2012-11-30T16:02:18.747 回答
0

做一个

var_dump($fql_query_obj['data'])

并查看结果以确保您的数据格式正确。

facebook 最有可能返回错误或格式错误的结果。您很可能需要添加逻辑来捕捉这一点,以便您的 foreach 循环仅在您验证该项目是一个数组后执行:

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

或者其他的东西。

于 2012-11-30T16:48:21.730 回答