代碼如下:我在php的控制器裡設定了兩個計時器,想看代碼執行的時間,然後出現的問題是,所有輸出的時間都是相同的,也就是$starttime,$endtime和$cirtime都是相同的。難道整個迴圈體在1毫秒內就執行完畢了嗎?還是我代碼寫的有問題?
public function addHotspot(){
$starttime=time(); $mHotspot = M("hotspot"); for ($i=1; $i<=10000; $i++) { $hotspot['scene'] = '1'; $hotspot['name'] = 'test'; $hotspot['ath']="0"; $hotspot['atv']="0"; $hotspot['type']="3"; // echo "zzz"; // $mHotspot->add($hotspot); $cirtime=time(); } $endtime=time(); $timestrip=$endtime-$starttime; $result["result"]=true; $result["starttime"]=$starttime; $result["endtime"]=$endtime; $result["timestrip"]=$timestrip; $result["cirtime"]=$cirtime; $this->ajaxReturn (json_encode($result),'JSON');}
回複內容:
代碼如下:我在php的控制器裡設定了兩個計時器,想看代碼執行的時間,然後出現的問題是,所有輸出的時間都是相同的,也就是$starttime,$endtime和$cirtime都是相同的。難道整個迴圈體在1毫秒內就執行完畢了嗎?還是我代碼寫的有問題?
public function addHotspot(){
$starttime=time(); $mHotspot = M("hotspot"); for ($i=1; $i<=10000; $i++) { $hotspot['scene'] = '1'; $hotspot['name'] = 'test'; $hotspot['ath']="0"; $hotspot['atv']="0"; $hotspot['type']="3"; // echo "zzz"; // $mHotspot->add($hotspot); $cirtime=time(); } $endtime=time(); $timestrip=$endtime-$starttime; $result["result"]=true; $result["starttime"]=$starttime; $result["endtime"]=$endtime; $result["timestrip"]=$timestrip; $result["cirtime"]=$cirtime; $this->ajaxReturn (json_encode($result),'JSON');}
不是
PHP 的 time()
單位是秒,1秒內迴圈一萬次不是很正常麼……要返回毫秒的話請用 microtime()
肯定不是非同步
不曉得你在說什麼
代碼也有問題,那個for迴圈沒有意義啊,不停的賦相同的值
php沒有非同步,而且for在js裡面也不是非同步。ps:js裡最簡單判斷是否非同步只需要在回呼函數裡console.log this如果this是window就證明這一步是非同步
看你這段代碼是迴圈寫資料庫,這個習慣可不好