-2

Facebookのグラフデータの配列から重複投稿を削除したい

私のページデータのような:

{
   "data": [
      {
         "link": "http://example.com/188",
         "id": "427801497327797_428375477270399",
         "created_time": "2013-06-29T14:16:26+0000"
      },
      {
         "link": "http://example.com/188",
         "id": "427801497327797_428375187270428",
         "created_time": "2013-06-29T14:15:27+0000"
      },
      {
         "link": "http://example.com/188",
         "id": "427801497327797_428363873938226",
         "created_time": "2013-06-29T13:33:17+0000"
      },
      {
         "link": "http://example.com/196",
         "id": "427801497327797_428363597271587",
         "created_time": "2013-06-29T13:32:07+0000"
      }
   ],
   "paging": {
      "previous": "",
      "next": ""
   }
}

重複したリンクが表示されexample.com/188ます。すべての重複リンクのIDを取得したい。私はfacebook-page-posterで作業しています

4

1 に答える 1

0

重複したリンクデータを削除することが懸念される場合は、次のようにすることができます

<?php
$duplicate_ids = array();
$all_links = array();
$facebook_data = array(
    'data' => array(
        array(
            'link' => 'http=>//site.com/188',
            'id' => '427801497327797_428375477270399',
            'created_time' => '2013-06-29T14=>16=>26+0000'
        ), array(
            'link' => 'http=>//site.com/188',
            'id' => '427801497327797_428375187270428',
            'created_time' => '2013-06-29T14=>15=>27+0000'
        ), array(
            'link' => 'http=>//site.com/188',
            'id' => '427801497327797_428363873938226',
            'created_time' => '2013-06-29T13=>33=>17+0000'
        ), array(
            'link' => 'http=>//site.com/196',
            'id' => '427801497327797_428363597271587',
            'created_time' => '2013-06-29T13=>32=>07+0000'
        )
    ),
    'paging' => array(
        'previous' => '',
        'next' => ''
    )
);
$data_count = count($facebook_data['data']);
for ($i = 0; $i < $data_count; $i++) {
    if (in_array($facebook_data['data'][$i]['link'], $all_links)) {
        $duplicate_ids[] = $facebook_data['data'][$i]['id'];
        unset($facebook_data['data'][$i]);
    } else {
        $all_links[] = $facebook_data['data'][$i]['link'];
    }
}

echo '<pre>'; print_r($duplicate_ids); '</pre>';
于 2013-06-29T18:09:56.503 に答える