// 在指令碼的開始處調用這個函數
function start() {
// 請看後面的addmarker函數
$this->addmarker("Start");
}
// end function start()
// 在指令碼的結束處調用這個函數
function stop() {
// 請看後面的addmarker函數
$this->addmarker("Stop");
}
// end function stop()
// 這個函數用來在指令碼執行時增加一個標記
// 需要一個用來描述的名字
function addmarker($name) {
// 調用 jointime() 函數並將microtime() 的傳回值傳遞過去
$markertime = $this->jointime(microtime());
// $ae 得到當前數組的大小,也就是當前的插入位置
// currently in the $points array
$ae = count($this->points);
// 在數組中儲存timestamp 和說明
$this->points[$ae][0] = $markertime;
$this->points[$ae][1] = $name;
}
// end function addmarker()
// 這個函數會處理從microtime() 返回的字串
function jointime($mtime) {
// 分解字串
$timeparts = explode(" ",$mtime);
// 串連兩個字串,並去除小數部分的0
$finaltime = $timeparts[1].substr($timeparts[0],1);
// 返回串連後的字串
return $finaltime;
}
// end function jointime()
// 這個函數簡單的顯示從開始到結束所需要的時間
function showtime() {
echo bcsub($this->points[count($this->points)-1][0],$this->points[0][0],6);
}
// end function showtime()