什么(int)10000/1000在php中做什么?

时间:2015-06-06 15:18:50

标签: javascript php setinterval

我在PHP中寻找类似于javascript中的setInterval方法:

setInterval(function() {
  /* do something amazing every ten seconds */
}, 10000);

我在SO上发现了这个答案:https://stackoverflow.com/a/12783983, 我正在玩这个功能,我意识到我不知道这行是做什么的:

$seconds=(int)$milliseconds/1000;

所以我研究了http://php.net,但我能找到的最接近的是:http://php.net/manual/en/function.intval.php

我想在我的网站上使用它之前完全理解它的作用,所以有人可以了解一下这行是什么

 function setInterval($f, $milliseconds) {
   $seconds=(int)$milliseconds/1000;
   while(true) {
     $f();
     sleep($seconds);
   }
 }

修改: 稍微调整一下这个功能之后我想出了这个:

function setInterval2($callBack, $seconds) {
  while(true) {
    $callBack();
    sleep($seconds/1000);
  }
}

这两个函数(函数的php版本没有javascript版本)做同样的事情&得到相同的结果?
这两者之间有区别吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

此:

(int)$milliseconds/1000;

基本上与:

相同
floor($milliseconds/1000);

除法的结果是浮点值。 (int)将其转换为整数并缩小小数。