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 の代わりに id_str を使用する必要があります。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 に答える