Home > Article > Backend Development > How to implement paging of arrays in PHP
This article mainly introduces the PHP implementation of array paging processing, and analyzes the definition and usage skills of the PHP-encapsulated array paging class in the form of examples. Friends in need can refer to it
The details are as follows:
Recently I have used array data to paginate. I have sorted it out here. The specific code is as follows:
<?php class PaginationArray{ public $pageArray=array(); //数组 public $pageSize=10; //每页显示记录数 public $current= 1; //当前页 private $total=0; //总页数 private $prev=0; //上一页 private $next=0; //下一页 public $argumetsOther='';//设置参数 function __construct($array=array(),$pageSize=10,$current=1){ $this->pageArray=$array; $this->pageSize=$pageSize; $this->current=$current; } /*通过数组进行初始化 * * 数组为关联数组,参数索引为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"]; */ ?>
The above is the entire article Content, I hope it will be helpful to everyone’s study.
Related recommendations:
Ajax no refreshPagingPerformance optimization method
php simple implementationPagingQuery method
The above is the detailed content of How to implement paging of arrays in PHP. For more information, please follow other related articles on the PHP Chinese website!