编写数据并忽略重复。

时间:2012-12-18 16:28:30

标签: php api foursquare

我目前正在使用foursquare API。每次运行以下PHP脚本时,都会在用户配置文件中显示最近的签入并将其写入文本文件。文本文件的每个条目都用逗号分隔。

我的问题是,我可以每分钟运行5次PHP文件,它会获取已经提取的相同签名。我想做的是让下面的PHP脚本读取foursquare JSON中显示的用户的最新签到,如果它已经在此之前的条目中的文本文件中聚合了,它会忽略它而不是添加到文本文件中。

<?php 
$charlotte = json_decode(file_get_contents("https://api.foursquare.com/v2/users/5464313?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121123"));
$venuename = $charlotte->response->user->checkins->items[0]->venue->name;
$file = 'charlotte.txt';
$current = file_get_contents($file);
$current .= $venuename.',';
file_put_contents($file, $current);
?>

<?php

$arran = json_decode(file_get_contents("https://api.foursquare.com/v2/users/1050511?oauth_token=2ZO1PQOUAD5SXRAJOLZVH53RBQ1EB2C23FE2GUZLJYQUJ3SY&v=20121109"));
$venuename = $arran->response->user->checkins->items[0]->venue->name;
$file = 'arran.txt';
$current = file_get_contents($file);
$current .= $venuename.',';
file_put_contents($file, $current);
?>

每个用户的文本文件是什么样的,当PHP脚本运行并输入最新签入的名称时。

Venue Name, Venue Name, Venue Name, Venue Name

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我假设Foursquare会为每次签到返回一个ID。在循环API结果时,您可以检查ID是否与文本文件中的最后一个ID匹配,如果不匹配,则假设它是一个新的签入,并将其写入文件。