0

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

我尝试了两种不同的方法,现在我想知道是否存在更好的方法。

我:

$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>";
}

二:

$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数值),在大多数情况下,第一个更快。

感谢您的建议:)

4

1 回答 1

0

这是一个功能性替代方案(对于 0 到 10 页;将其替换为$min $number-1.. )

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

请时间,让我知道。:)

于 2012-08-06T08:40:03.970 回答