11

我有一个显示时间的 php 脚本: 9.08374786377E-5 ,但我需要普通的浮点值作为时间: 0.00009083747 .....这就是为什么我只是用浮点数打印它:

<?php

function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();

$time_end = microtime_float();
$time = $time_end - $time_start;
printf('%.16f', $time);

?>

它很好地显示了结果,但我需要在一个新变量中设置这个打印值。我怎样才能做到这一点 ?我需要在一个新变量 $var; 中设置这个打印值。

$var = printf('%.16f', $time); 

// 我们都知道它不起作用,但是如何设置呢?

4

2 回答 2

33

您需要使用sprintf命令将数据作为变量... printf 输出结果,而 sprintf 返回结果

$var = sprintf('%.16f', $time); 
于 2013-07-11T17:30:25.303 回答
4

那是因为sprintf()返回一个字符串,printf()显示它。

printf('%.16f', $time);

是相同的:

sprintf('%.16f', $time);

由于sprintf()将结果打印到字符串中,因此您可以将其存储在变量中,如下所示:

$var = sprintf('%.16f', $time);

希望这可以帮助!

于 2013-07-11T17:35:19.327 回答