Rumah  >  Artikel  >  php教程  >  php的time()与$_SERVER[REQUEST_TIME]区别是什么

php的time()与$_SERVER[REQUEST_TIME]区别是什么

ringa_lee
ringa_leeasal
2017-07-13 17:03:301181semak imbas

关于php中time()与$_SERVER['REQUEST_TIME']用法的区别在哪里,相信有很多人会像我一样会质疑到两者之前的主要区别在哪里,下面我就为大家分析一下:

1. time() 获取当前的系统时间戳

int time(void) :

返回当前的 Unix 时间戳 (返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数)。

自 PHP 5.1 起在 $_SERVER['REQUEST_TIME'] 中保存了发起该请求时刻的时间戳。

$_SERVER["REQUEST_TIME"] :The timestamp of the start of the request. Available since PHP 5.1.0。PS:这里相信英文比较好的朋友一看解释就都明白了。

2. $_SERVER["REQUEST_TIME"] 得到请求开始时的时间戳。

简单的说time()与$_SERVER["REQUEST_TIME"]都是获得当前的时间戳,但time()返回当前的Unix时间戳而$_SERVER["REQUEST_TIME"]获取的是得到请求php脚本开始时的时间戳,时间上稍微会一点差别。一般的用法当中差别不会很大。不过当php的执行程序过多,过于复杂的时候,这两者之间的差别就会变大,举个例子说明一下吧:

实例代码:

<?php    
date_default_timezone_set(&#39;PRC&#39;); //设置时区为中国的    
sleep(5);//php脚本睡眠5秒    
echo date(&#39;Y-m-d H:i:s&#39;,time());//获取当前系统时间的时间戳
echo &#39;<hr/>&#39;; 
echo date(&#39;Y-m-d H:i:s&#39;,$_SERVER[&#39;REQUEST_TIME&#39;]);//得到请求此php脚本时的时间戳
?>

输出结果截图如下:


2014111985240496.jpg

稍加总结一下:

因为sleep(5)睡了5秒,之后用time()获取系统的时间戳,$_SERVER['REQUEST_TIME']则记录了发起此请求时刻的时间戳。

所以两都之间的差别就在$_SERVER['REQUEST_TIME']比用time()获取的时间戳早的这5秒当中;

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn