在PHP变量中设置printf()值

时间:2013-07-11 17:21:01

标签: php printf floating

我有一个显示时间的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); 

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

2 个答案:

答案 0 :(得分:28)

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

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

答案 1 :(得分:4)

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

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

与:

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

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

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

希望这有帮助!