php歸檔函數(按時間)實現

今日開發本站須要用到按時間歸檔文章的功能,即按文檔發佈時間將文章文類,以實現檢索和統計功能,因而本身寫了一個, 現分享給你們,相信你們工做和學習中有可能會用到,實現原理很簡單,即取出文章發佈時間戳的年月(年月日也能夠,自 決定),生成相應的統計數據,調用時只須要知道該數組元素所標識時間的起始時間戳,便能檢索出相應的數據。php

  
  
           
  
  
  1. /**  
  2.  * @desc 按時間歸檔函數實現  
  3.  * @author mengdejun  
  4.  * @param array $arrData 傳入須要歸檔類所需參數  
  5.  */ 
  6. if(!function_exists("archives_document")){  
  7.     function archives_document($arrData){  
  8.         $rv=array();  
  9.         foreach($array as $index=>$value){  
  10.             $archivesTime=date("Y-m",$value['a_uptime']);  
  11.                 $rv[$archivesTime][]=$value;  
  12.                 //$rv[$archivesTime]+=1;  
  13.         }  
  14.         return $rv;  
  15.     }  
  16. }  

 

以上代碼既能實現歸檔功能,不過須要注意的是傳入數據必須包含須要歸檔函數的時間戳,至於命名什麼的,本身看着辦。 解析時須要用到php自帶函數mktime來計算指定時間的起始時間戳。數組

  
  
           
  
  
  1. mktime(hour,minute,second,month,day,year,is_dst) 

如何使用在這裏就很少廢話了,具體能夠查看http://www.w3school.com.cn/php/func_date_mktime.asp以上面的函數爲例,假設訪問地址爲:http://host/archives.php?time=2012-04ide

  
  
           
  
  
  1. $time=$_GET['time'];  
  2. $arrTime=explode("-",$time);  
  3. $btime = mktime(0,0,0,$arrTime[1],1,$arrTime[0]);//取出當前月第一天開始時間戳  
  4. $etime = mktime(23,59,59,$arrTime[1],date("t"),$arrTime[0]);//取出當前月最後一天結束時間戳  
  5. //後面的程序就你們自由發揮了,SQL查詢啥的就不廢話了。
相關文章
相關標籤/搜索