我想了解各种数据类型如何控制 microtime() 函数的输出显示方式?
这里有3个场景:
1 . 这将以浮动格式显示 microtime 函数的输出,因为我已将布尔值设置为 true。
我想知道,float 函数默认显示多少位小数(在本例中为 4)?
这与 CPU 的架构有什么关系?
lab$ php -r 'echo microtime(true),"\n";'
1361544317.2586
2 . 在这里,microtime() 函数的输出被强制转换为双精度格式。
那么,这是否意味着它最多只能显示小数点后 6 位微秒?它与浮点数及其最大尺寸/精度有何不同?
lab$ php -r 'echo (double)microtime(),"\n";'
0.751238
3 . 这是 microtime() 函数的默认用法,它打印微秒和 unix 纪元时间戳:
lab$ php -r 'echo microtime(),"\n";' output: 0.27127200 1361544378
我想了解这一点,因为在很多地方我都看到 microtime() 被用来以这种方式为 mt_rand() PRNG 生成种子:
mt_srand((double)microtime() * 1000000)
在这里进行类型转换并乘以 10^6 有什么用?mt_srand() 的参数的最大可能值是多少?
谢谢。