设为首页 收藏本站
云服务器等爆品抢先购,低至4.2元/月
查看: 688|回复: 0

[经验分享] PHP中microtime()函数

[复制链接]

尚未签到

发表于 2017-3-27 07:01:20 | 显示全部楼层 |阅读模式
  首先介绍一下此函数的用法:
  定义和用法(php5)
microtime() 函数返回当前 Unix 时间戳和微秒数。返回的字符串的格式:msec sec
  语法
microtime(get_as_float)
参数 描述
get_as_float 如果给出了 get_as_float 参数并且其值等价于 TRUE,该函数将返回一个浮点数。
  说明
本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。
  如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。
  代码:
<?php
echo microtime();echo '<br />';echo microtime(TRUE);
?>
浏览器显示结果:
0.45316500 12212282521221228252.45
我们看到microtime(TRUE),只返回了2位的小数。如果要输出更多位的微秒,需要函数number_format().看最后附1这个函数的用法。
补充:在PHP4下microtime()的用法 ,由于没有参数TRUE的用法,所以如果要得到浮点数,需要配合array_num()函数和explode()函数。
比如:
在PHP里面,要想统计一个action或者一个函数或者某个过程的执行所消耗的时间往往都只有一个办法:在运算前记录下时间戳,在运算后记录下时间戳,然后相减,就能得到一个相对比较实际的时间。 基本代码如下(从phpmyadmin里复制而来,懒得打了。这段代码其实也就是phpMyadmin里SQL的执行时间的计算):
PHP代码
<?php
// garvin: Measure query time.
// TODO-Item http://sourceforge.net/tracker/index.php?func=detail&aid=571934&group_id=23067&atid=377411
$querytime_before = array_sum(explode(' ', microtime()));
  $result = @PMA_DBI_try_query($full_sql_query, null, PMA_DBI_QUERY_STORE);
  $querytime_after = array_sum(explode(' ', microtime()));
  $GLOBALS['querytime'] = $querytime_after - $querytime_before;
  ?>
  看文章最后附2,array_sum()函数的用法。 其中 array_sum(explode(' ', microtime())); 是PHP4时代的写法,到PHP5之后,microtime函数多了一个bool值的参数,加上这个参数后可以直接得到 array_sum(explode(' ', microtime())); 相等的值,即:microtime(true)。 附1:number_format()的用法
number_format
格式化数字字串。 语法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]); 传回值: 字串 函式种类: 数学运算

内容说明
  本函式用来将浮点参数 number 格式化。
若没加参数 decimals 则传回的字串只要整数部份,加了此参数才依参数指定的小数点位数传回。参数 dec_point 表示小数点的表示方式方法,内定值是 ".",若需要转换成其它的小数点就可以在这个参数改掉。参数 thousands_sep 为整数部份每三位的分隔符号,内定值是 ","。
本函式最特别的地方就是参数数目,最少要有一个,也就是欲格式化的字串;也可以有二个或者四个参数,但不能用三个参数。值得注意的是指定小数点的位数之后的数字直接舍弃,没有四舍五入的情形。

使用范例
  <?$short_pi = "3.14159";$my_pi = number_format($short_pi, 2);echo $my_pi."/n"; // 3.14$foo = 850017.9021;$new_foo = number_format($foo, 3, ".", " ");echo $new_foo."/n"; // 850 017.902?>
附2 array_num的用法
array_sum
--------------------------------------------------------------------------------
  (PHP 4 >= 4.0.4) array_sum -- 计算数组中所有值的和 说明mixed array_sum ( array array) array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。 例子 1. array_sum() 例子 $a = array(2, 4, 6, 8); echo "sum(a) = ".array_sum($a)."/n"; $b = array("a"=>1.2,"b"=>2.3,"c"=>3.4); echo "sum(b) = ".array_sum($b)."/n"; 以上程序输出为: sum(a) = 20sum(b) = 6.9

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-355786-1-1.html 上篇帖子: php的gdchart介绍 下篇帖子: PHP模块:Memcached > Memcache
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表