2012-04-13 11 views
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 

がどのように私はこの問題を解決することができますか?

+1

文字列としてキャストします。 – j08691

+0

ここに私の推測です:http://stackoverflow.com/questions/94591/what-is-the-maximum-value-for-a-int32 – Madbreaks

+0

@ j08691、任意の提案? – Eray

答えて

2

おそらく32ビットサーバー上。

idの代わりにid_strのプロパティを取得します。これは常に文字列です。

1

整数のサイズはプラットフォームによって異なります。おそらく数値の代わりに文字列を使用して、そのデータを操作する必要があります。

3

idの代わりにid_strを使用する必要があります。ほとんどの人がインストールしている32ビットPHPは、32ビットを超える整数は扱えません。

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

+0

技術的には、32ビットのPHPでは32ビットを超える整数は扱えません。 64ビットPHPができます。 –

関連する問題