PHP分页 - 检测当前页面

时间:2012-08-06 08:23:36

标签: php

检测/打印当前页码(分页)的最佳方法是什么?

我尝试了两种不同的方式,现在我想知道是否有更好的方法来实现它。

I:

$number = 12; //current page number
$all = 40; // all pages
$range = 4; // number of pages shown (up and down)
$min = $number-$range;
$max= $number+$range+1;

for($i=$min; $i<$number;$i++) {
    echo "<a href='#'>$i</a><br/>";
}

echo "$number<br/>";

for($i=($number+1); $i<$max;$i++) {
    echo "<a href='#'>$i</a></br>";
}

II:

$number = 12; //current page number
$all = 40; // all pages
$range = 4; // number of pages shown (up and down)
$min = $number-$range;
$max= $number+$range+1;

for($i=$min; $i<$max;$i++) {
    if($i!=$number) {
        echo "<a href='#'>$i</a><br/>";
    } else {
        echo "$i<br/>"; 
    }
}

我还检查了两种解决方案的速度(使用不同的高数$all值),并且在大多数情况下,第一种解决方案更快。

感谢您的建议:)

1 个答案:

答案 0 :(得分:0)

这是一个功能替代方案(0到10页;用$min $number-1替换它。)

echo implode("<br/>",
       array_map(function($x){
           return "<a href='..'>$x</a>";
       }, range(0,10))
);

请定时,让我知道。 :)