PHP實現(xiàn)對數(shù)組分頁處理實例詳解
更新時間:2017年02月07日 10:59:47 作者:風起從容
這篇文章主要介紹了PHP實現(xiàn)對數(shù)組分頁處理,結合實例形式分析了php封裝的數(shù)組分頁類定義與使用技巧,需要的朋友可以參考下
本文實例講述了PHP實現(xiàn)對數(shù)組分頁處理方法。分享給大家供大家參考,具體如下:
最近用到了用數(shù)組數(shù)據分頁,這里整理了一下,具體代碼如下:
<?php class PaginationArray{ public $pageArray=array(); //數(shù)組 public $pageSize=10; //每頁顯示記錄數(shù) public $current= 1; //當前頁 private $total=0; //總頁數(shù) private $prev=0; //上一頁 private $next=0; //下一頁 public $argumetsOther='';//設置參數(shù) function __construct($array=array(),$pageSize=10,$current=1){ $this->pageArray=$array; $this->pageSize=$pageSize; $this->current=$current; } /*通過數(shù)組進行初始化 * * 數(shù)組為關聯(lián)數(shù)組,參數(shù)索引為pageArray,pageSize,current * */ function setArguments($arr){ if (is_array($arr)){ $this->pageArray=$arr['pageArray']; $this->pageSize=$arr['pageSize']; $this->current=$arr['current']; }else{ return ; } } //返回鏈接 function page(){ $_return=array(); /*calculator*/ $this->total=ceil(Count($this->pageArray)/$this->pageSize); $this->prev=(($this->current-1)<= 0 ? "1":($this->current-1)); $this->next=(($this->current+1)>=$this->total ? $this->total:$this->current+1); $current=($this->current>($this->total)?($this->total):$this->current); $start=($this->current-1)*$this->pageSize; $arrleng=count($this->pageArray); for($i=$start;$i<($start+$this->pageSize);$i++){ if($i >= $arrleng)break; array_push($_return,$this->pageArray[$i]); } $pagearray["source"]=$_return; $pagearray["links"]=$this->linkStyle(2); return $pagearray; } //鏈接的樣式 private function linkStyle($number=1){ $linkStyle=''; switch ($number){ case 1: $linkStyle="<a href=\"?page=1\">first</a> <a href=\"?page={$this->prev}\">prev</a> <a href=\"?page={$this->next}\">next</a> <a href=\"?page={$this->total}\">end</a>"; break; case 2: $linkStyle="<a href=\"?page=1&{$this->argumetsOther}\">首頁</a> <a href=\"?page={$this->prev}&{$this->argumetsOther}\">上一頁</a> <a href=\"?page={$this->next}&{$this->argumetsOther}\">下一頁</a> <a href=\"?page={$this->total}&{$this->argumetsOther}\">尾頁</a>"; break; } return $linkStyle; } } //調用的實例 /* header('Content-Type: text/html;charset=utf-8'); $array=array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"); $page= isset($_GET['page'])? $_GET['page'] : 1 ; $arrayPage = new PaginationArray($array,"5",$page); $r = $arrayPage->page(); foreach($r["source"] as $s){ echo $s.'<br />'; } echo $r["links"]; */ ?>
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php+mysql數(shù)據庫操作入門教程》、《php+mysqli數(shù)據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》、《PHP網絡編程技巧總結》及《php常見數(shù)據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
php性能優(yōu)化分析工具XDebug 大型網站調試工具
大型網站調試工具之一(php性能優(yōu)化分析工具XDebug) ,開發(fā)php的朋友可以參考下。有助于解決php代碼的多種問題。2011-05-05《Head First 設計模式》代碼之PHP版(面向對象學習)
《Head First 設計模式》是本不錯的講解設計模式的書,不像F4寫的那么枯燥,應該算是比較容易理解的好書。2010-06-06PHP PDO fetch 模式各種參數(shù)的輸出結果一覽
這篇文章主要介紹了PHP PDO fetch 模式各種參數(shù)的輸出結果一覽,本文目的是方便根據實際需求選擇不同的參數(shù),從而不用一個一個測試過去,需要的朋友可以參考下2015-01-01