我正在使用jot的flot图形库,并且它使用javascript时间用于任何时间序列(提醒,自1970年1月以来的毫秒数.Unix时间秒)。
我目前的代码如下:
foreach($decoded['results'] as $currentResult) {
if($currentResult['from_user'] == $user) {
$strippedTexts = $currentResult['created_at'];
$dates []= strtotime($strippedTexts);
}
}
这给了我一组Unix时间戳。我想在循环中为JavaScript准备数据,但是当我尝试
时$dates []= 1000*strtotime($strippedTexts);
数字太大而且吐出“[-2147483648]”。我是否需要将允许在数组中保存的变量的“类型”更改为bignum或其他内容?
谢谢!
答案 0 :(得分:3)
试试这个:
$dates []= 1000.0*strtotime($strippedTexts);
这将把它变成浮点数,在php中可以存储比int更大的数字。
答案 1 :(得分:2)
如果您有BCMath Arbitrary Precision functions,可以尝试使用{{3}}:
$dates[] = bcmul("1000", strtotime($strippedTexts));
或者,只是,你知道,最后添加三个零。
$dates[] = strtotime($strippedTexts).'000';
在这两种情况下,您最终都会将值存储为字符串,但这对您的使用无关紧要。
答案 2 :(得分:0)
不需要解决方案,因为没有问题:让JavaScript进行乘法运算。