現在の位置: ホーム> 最新記事一覧> array_sliceを使用してページング機能を実装する簡単な例

array_sliceを使用してページング機能を実装する簡単な例

gitbox 2025-05-26

array_sliceとは何ですか?

Array_sliceは、Arrayから連続的な要素を抽出するためのPHPの組み込み関数です。その基本的な構文は次のとおりです。

 array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
  • $配列:インターセプトされる配列

  • $ offset :開始位置、0は最初の要素から始まることを意味します

  • $の長さ:インターセプトの長さ。指定されていない場合、デフォルトは配列の終わりになります。

  • $ preserve_keys :元の配列のキー名を保持するかどうか、デフォルトでfalse


array_sliceを使用してページネーションを実装します

100個のデータを含む配列があり、ページごとに10個のデータを表示するページング機能を実装する必要があるとします。

1.ページングパラメーターを計算します

  • 現在のページ番号$ページ(1から始まる)

  • ページごとに表示された文字の数$ページサイズ

  • ARRAY INTERCEPTの開始点を計算します$ offset =($ page -1) * $ pagesize

2.現在のページのデータを傍受します

Array_sliceを使用して、Arrayから現在のページのデータを傍受してください。


サンプルコード

<?php
// データ配列をシミュレートします
$data = range(1, 100); // includeを生成します 1 到着 100 数字の配列

// 現在のページ番号を取得します,デフォルトは最初です 1 ページ
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$page = max($page, 1); // 确保ページ码不小于 1

// 每ページ显示多少条
$pageSize = 10;

// オフセットを計算します
$offset = ($page - 1) * $pageSize;

// 使用 array_slice 截取当前ページ的数据
$pageData = array_slice($data, $offset, $pageSize);

// 输出当前ページ的数据
foreach ($pageData as $item) {
    echo "データ項目:$item<br>";
}

// 生成分ページ链接
$totalPages = ceil(count($data) / $pageSize);

echo "<div>";
for ($i = 1; $i <= $totalPages; $i++) {
    if ($i == $page) {
        echo "<strong>$i</strong> ";
    } else {
        echo "<a href=\"https://gitbox.net/page.php?page=$i\">$i</a> ";
    }
}
echo "</div>";
?>

ランニング効果

page.php?page = 1にアクセスすると、ページ1に10個のデータが表示され、 page.php?page = 2にアクセスします。2ページのコンテンツが表示されます。


まとめ

PHPのarray_slice関数と簡単なページング計算を組み合わせて、配列のページング関数を簡単に実装できます。ページングデータは通常、実際の開発のデータベースから来ていますが、 Array_sliceは、小さなデータセットまたはキャッシュデータの非常に軽量で効率的なソリューションです。

重要なポイントは、正しいオフセット$ offsetを計算し、ページごとに表示されるバーの数を制御して、ページング効果を簡単に達成できるようにすることです。