不說了,直接上代碼
$st = floor($stimestamp/$freq/60) * $freq * 60;
$ed = ceil($etimestamp/$freq/60) * $freq * 60;
$times = round(($ed - $st)/$freq/60);
for($i=0;$i<=$times;$i++) {
$time = date('YmdHi',$st+$i*60*$freq);
$bind['time'] = $time;
$this->singleInsert($bind);
}php
在看別的代碼的時候出現了這麼個東西,因爲智商的緣由,查了下php中這幾個函數的用法:
floor — 捨去法取整
說明
float floor ( float $value )
返回不大於 value 的下一個整數,將 value 的小數部分捨去取整。floor() 返回的類型仍然是 float,由於 float 值的範圍一般比 integer 要大。
我的理解:傳入一個float類型的數據,返回給你一個float類型的整數,這個取整數的規則是向下取整。就像溫度計同樣的東西,獲取當前值的下面的一位整數;
ps: echo floor(3.2); // 3
echo floor(-3.2) //-4
ceil -- 進一法取整
說明
float ceil ( float $value )
返回不小於 value 的下一個整數,value 若是有小數部分則進一位。ceil() 返回的類型仍然是 float,由於 float 值的範圍一般比 integer 要大
看懂了上面的,這個就簡單了,向上取整,直接來兩個例子看下
echo ceil(3.2) //4
echo ceil(-3.2) //-3函數
round -- 對浮點數進行四捨五入
說明
float round ( float val [, int precision] )
返回將 val 根據指定精度 precision(十進制小數點後數字的數目)進行四捨五入的結果。precision 也能夠是負數或零(默認值)。
這個簡單,四捨五入法,直接看列子,有個沒有想通的是這種參數的表示形式 (float val[, int precision]),好多有參數的地方表現的都是這個樣子this
intval---對變數轉成整數型態
有兩個做用
一、將字符類型的數字轉換成整數類型,常見到的是接受數字參數的時候用到,防注入操做
二、取整
spa