加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现对数组分页处理实例介绍

发布时间:2022-07-24 12:05:32 所属栏目:PHP教程 来源:互联网
导读:?php classPaginationArray{ public$pageArray=array();//数组 public$pageSize=10;//每页显示记录数 public$current= 1;//当前页 private$total=0;//总页数 private$prev=0;//上一页 private$next=0;//下一页 public$argumetsOther=;//设置参数 function__c
  <?php
  classPaginationArray{
   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
   *
   */
   functionsetArguments($arr){
   if(is_array($arr)){
    $this->pageArray=$arr['pageArray'];
    $this->pageSize=$arr['pageSize'];
    $this->current=$arr['current'];
   }else{
    return;
   }
   }
   //返回链接
   functionpage(){
   $_return=array();
   /*calculator*/
   $this->total=ceil(Count($this->pageArray)/$this->pageSize);
   $this->prev=(($this->current-1)<= 0="" 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++){<!--($start+$this--->
    if($i>=$arrleng)break;
    array_push($_return,$this->pageArray[$i]);
   }
   $pagearray["source"]=$_return;
   $pagearray["links"]=$this->linkStyle(2);
   return$pagearray;
   }
   //链接的样式
   privatefunctionlinkStyle($number=1){
   $linkStyle='';
   switch($number){
    case1:
    $linkStyle="<a href=""?page=1"">first</a> <a href=""?page={$this-">prev</a> <a href=""?page={$this-">next</a> <a href=""?page={$this-">end</a>";
    break;
    case2:
    $linkStyle="<a href=""?page=1&{$this-">首页</a> <a href=""?page={$this-">上一页</a>  <a href=""?page={$this-">下一页</a>  <a href=""?page={$this-">尾页</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"];
  */
  ?> 

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读