php面试题分页代码,一个简单的PHP分页类,吐槽解析版

class page{

public $page;

public $pagenum;

public $pagesize;

public function __construct($count,$pagesize){

$this->pagenum=ceil($count/$pagesize);

$this->pagesize=$pagesize;

$this->page=(isset($_GET['p'])&&$_GET['p']>0)?intval($_GET['p']):1;//首次调用类么?是的话就让P值为1

}

public function getUrl(){

$url =basename($_SERVER['PHP_SELF']). '?'.http_build_query($_GET);

$url=preg_replace('/[?,&]p=(\w)+/','',$url);

$url.=(strpos($url,"?")===false)?'?':'&';

return $url;//这里返回的是没有P参数的URL

}

public function getPage(){

$url=$this->getUrl();

$start=$this->page-5;

$start=$start>0?$start:1;

$end=$start+9;

$end=$endpagenum?$end:$this->pagenum;

$pagestr='';

if($this->page>5){

$pagestr="first page";

}

if($this->page!=1){

$pagestr="pre  ";

}

for($i=$start;$i<=$end;$i++){

$pagestr.=" ".$i." ";

}

if($this->page!=$this->pagenum){

$pagestr.="next ";

}

if($this->page+5pagenum){

$pagestr.="last_page";

}

return $pagestr;

}

}

$page=new page(1000,7);

$str=$page->getPage();

echo $str;

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值