yuckysocks Posted April 19, 2009 Share Posted April 19, 2009 Hi all. I'm trying to get data into a form that works with flot, the jQuery graphing library. I need to get UTC timestamps from Twitter into a javascript timestamp (=Unix timestamp * 1000). My code currently looks like this: foreach($decoded['results'] as $currentResult) { if($currentResult['from_user'] == $user) { $strippedTexts = $currentResult['created_at']; $bignumber = strtotime($strippedTexts); $biggerstring = bcmul($bignumber, 1000); $dates []= settype($biggerstring, "int"); } } This creates a dates[] array that contains the value "1", once. Clearly not what I want. I've tried multiplying by 1000 (resulted in a large number barf: -2147483648), multiplying by 1000.0 (to convert to a float, maybe it would take a bigger number). I've also tried concatenating "000" and using setype($var, "float") and that won't work either. Any idea how I can get the incoming array of UTC time stamps into "milliseconds since 1970" (which is what the flot library needs, as an integer, not a string)? If it helps, here's the entire code, soup to nuts: <?php $url = "http://search.twitter.com/search.json?q=%23runlogger"; $contents = file_get_contents($url); $decoded = (json_decode($contents, true)); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript" src="jquery.flot.js"></script> </head> <body> <form name="input" action="skeleton.php" method="get"> Twitter Username: <input type="text" name="user" /> <input type="submit" value="Go Get 'em, Tiger" /> </form> <?php if (isset($_GET['user'])) { $miles = array(); $dates = array(); $pairs = array(); $user = $_GET["user"]; foreach($decoded['results'] as $currentResult) { if($currentResult['from_user'] == $user) { $strippedTexts = explode(" ", $currentResult['text']); $miles []= $strippedTexts[0]; } } foreach($decoded['results'] as $currentResult) { if($currentResult['from_user'] == $user) { $strippedTexts = $currentResult['created_at']; $bignumber = strtotime($strippedTexts); $biggerstring = bcmul($bignumber, 1000); $dates []= settype($biggerstring, "int"); } } foreach($miles as $key=>$mile) { $pairs[$dates[$key]] = $mile; } ksort($pairs); foreach($pairs as $d=>$m) { $orderedpairs .= "[$d, $m], "; } echo " <div id='placeholder' style='width:600px;height:300px'></div> <script language='javascript' type='text/javascript'> $(function () { var data = [[$orderedpairs]]; var plotarea = $('#placeholder'); var options = { legend: { show: true } xaxis: { mode: time } } $.plot( plotarea , data , options ); }); </script> $orderedpairs "; } else { echo "Go ahead and search for a name! Try 'Tester2314' to see what an example could look like"; } ?> Link to comment https://forums.phpfreaks.com/topic/154776-help-with-casting-and-big-numbers/ Share on other sites More sharing options...
JD* Posted April 19, 2009 Share Posted April 19, 2009 Did you look into strotime()? Link to comment https://forums.phpfreaks.com/topic/154776-help-with-casting-and-big-numbers/#findComment-813922 Share on other sites More sharing options...
yuckysocks Posted April 19, 2009 Author Share Posted April 19, 2009 I did indeed; that's actually at the root of the foreach loop. Good suggestion though. Anyone else have any ideas? Link to comment https://forums.phpfreaks.com/topic/154776-help-with-casting-and-big-numbers/#findComment-814038 Share on other sites More sharing options...
meomike2000 Posted April 19, 2009 Share Posted April 19, 2009 have you tried calling mktime() but as mktime(value to get time from); worked for me to get time from a stored value; Link to comment https://forums.phpfreaks.com/topic/154776-help-with-casting-and-big-numbers/#findComment-814056 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.