2012-04-13 5 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 />"; 

Это должно вывести список идентификаторов чириканья. Например:Возврат плавающего вместо целого

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_str вместо id который всегда будет строкой.

1

Размер целых чисел зависит от платформы. вы должны, вероятно, использовать строки вместо чисел, чтобы манипулировать этими данными.

3

Вам нужно использовать id_str вместо id. 32-битный PHP (это то, что большинство людей установили) не может обрабатывать целые числа размером более 32 бит.

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

+0

Технически, 32-разрядный PHP не может обрабатывать целые числа размером более 32 бит. Возможно 64-битный PHP. –

Смежные вопросы