0

我想要获得所有名称的列表&实际上将要创建的事件的ID。使用php的api for facebook获取列表是一件容易的事,而且似乎很有用。阅读来自PHP Facebook的结果图表api SDK

代码(PHP)的获得数据:

//获取参加

$getattending = "/" . $event_id . "/attending?fields=name,id"; 

    $req_events = new FacebookRequest($session, 'GET', $getattending); 
    $req_response = $req_events->execute(); 
    $data_array = $req_response->getGraphObject()->asArray(); 

    $counter = array_map("count", $data_array); 
    $count = $counter['data']; 

    echo "Attending: $count<BR>"; 

    echo "<PRE>"; 
    print_r($data_array); 
    echo "</PRE>"; 

结果:

阵列(

[data] => Array 
    (
     [0] => stdClass Object 
      (
       [name] => Thierry Martens 
       [id] => 788923242 
      ) 

     [1] => stdClass Object 
      (
       [name] => Lisa Mario Laurier 
       [id] => 708876902536391 
      ) 

     [2] => stdClass Object 
      (
       [name] => Ramy Mahfoudhi 
       [id] => 735036479911364 
      ) 

     [3] => stdClass Object 
      (
       [name] => Jeremy Verriest Duroisin 
       [id] => 783108468420824 
      ) 

     [4] => stdClass Object 
      (
       [name] => Jonas En Svetlana Laurier 
       [id] => 773139856081632 
      ) 

     [5] => stdClass Object 
      (
       [name] => Maxime Demerliere 
       [id] => 849400761761008 
      ) 

     [6] => stdClass Object 
      (
       [name] => Jeremy Beauchamp 
       [id] => 10204174155667109 
      ) 

     [7] => stdClass Object 
      (
       [name] => Sari Jens Delcourte Delusinne 
       [id] => 10204086515874904 
      ) 

     [8] => stdClass Object 
      (
       [name] => Pieter Marysse 
       [id] => 10204911283045115 
      ) 

     [9] => stdClass Object 
      (
       [name] => Patrick Vanden Bosschelle 
       [id] => 10202907209181148 
      ) 

    ) 

但我有问题实际收集数据itsels;我只需要简单的数组或列表中的名称和ID,以便我可以在脚本的其余部分使用它。任何想法任何人?

我的第二个问题是php图表api似乎有图2.1的“/ eventnr/attending”的东西;向有问题的事件展示nr人员;但是当我真的叫它时,我得到一个错误,指出我需要使用图2.1,而我上传了最新的PHP SDK,似乎无法找到改变该版本的方法。这个问题不像以上那样重要。但是,如果它的工作原理,我将需要更少的代码:)

希望你们能帮助我:)

回答

1

!!!!得到它了 !!!!

难道还看一些关于这里的解决方案似乎是相当简单:

for ($x = 0; $x <= $count; $x++) 
     { 
     $names[$x] = $data_array['data'][$x]->name; 
     $ids[$x] = $data_array['data'][$x]->id; 
     } 

显示:

$ names数组:

阵列([0 ] => Thierry Martens [1] => Lisa Mario Laurier [2] => Ramy Mahfoudhi [3] => Jeremy Verriest Duroisin [4] => J onas En Svetlana Laurier [5] => Maxime Demerliere [6] => Jeremy Beauchamp [7] => Sari Jens Delcourte Delusinne [8] => Pieter Marysse [9] => Patrick Vanden Bosschelle [10] => )

$ ids数组:

阵列([0] => 788923242 [1] => 708876902536391 [2] => 735036479911364 [3] => 783108468420824 [4] => 773139856081632 [5] = > 849400761761008 [6] => 10204174155667109 [7] => 10204086515874904 [8] => 10204911283045115 [9] => 10202907209181148 [10] =>)

0

这就像:

$dataArray = $data_array['data']; 
$firstPerson = new $dataArray[0]; 
echo $firstPerson->name; 
echo $firstPerson->id; 

也许你需要这一点,虽然:

foreach($data_array['data'] as $a){ 
    $o = new $a; $names[] = $o->name; $ids[] = $o->id; 
} 
// $names is Array of names 
// $ids in Array of ids 
+0

不工作;(我将编辑我的代码并添加我用来获取数据的代码;可能是有用的。 – 2014-10-12 00:43:05

0

我添加了你的代码,但结果如下(空阵列)

添加代码:

foreach($data_array['data'] as $a) 
      { 
      $o = new $a; $names[] = $o->name; $ids[] = $o->id; 
      } 

    echo "FIRST ELEMENT - \$data_array['data'][0]: <BR>"; 
    print_r($data_array['data'][0]); echo "<BR><BR>"; 
    echo "\$names array: <BR>"; 
    print_r($names); echo "<BR><BR>"; 
    echo "\$ids array: <BR>"; 
    print_r($ids); echo "<BR><BR>"; 

结果回波&的print_r的:

第一元件 - $ data_array中[ '数据'] [0]:

stdClass Object ([name] => Thierry Martens [id] => 788923242) 

$名称数组:

Array ([0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] =>) 

$ ids数组:

Array ([0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] =>)