0

現在のページ番号 (ページネーション) を検出/印刷する最良の方法は何ですか?

私は2つの異なる方法を試しましたが、もっと良い方法があるかどうか知りたいです.

私:

$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 に答える