1
/* returns tweetDetails */
function returnTweets()
{
    $return = array();
    $url = $hashtagSearchUrl = "http://search.twitter.com/search.json?q=%23gencsengeleceksin&include_entities=1&result_type=recent&rpp=50";
    foreach(json_decode(file_get_contents($url))->results as $t)
    {
        $return[] = $t;
    }

    return $return;
}

/* assigns tweet details to a variable */
$ts = returnTweets();

foreach ($ts as $t)
    echo $t->id."<br />";

这必须输出推文 id 的列表。例如 :

190914827918857531
190914827918845655
165456467265456156

通常它可以工作,但在某些服务器上它会返回如下内容:

1.9090219393785E+17

我怎么解决这个问题?

4

3 回答 3

3

您需要使用 id_str 而不是 id。32 位 PHP(这是大多数人安装的)无法处理大于 32 位的整数。

https://dev.twitter.com/docs/twitter-ids-json-and-snowflake

于 2012-04-13T21:04:26.227 回答
2

可能在 32 位服务器上。

获取属性id_str,而不是id始终为字符串。

于 2012-04-13T21:03:27.740 回答
1

整数的大小取决于平台。您可能应该使用字符串而不是数字来操作该数据。

于 2012-04-13T21:04:14.363 回答