現在の位置: ホーム> 最新記事一覧> Array_sliceを使用して、Array Paging Navigation Logicを実装します

Array_sliceを使用して、Array Paging Navigation Logicを実装します

gitbox 2025-05-29

Web開発では、ページングは​​一般的な機能の1つです。記事リスト、製品カタログ、またはユーザーのレビューを表示しているかどうかにかかわらず、ページネーションは、一度に過度のデータロードがあるため、ページの読み込みが遅いことを避けるための効率的なソリューションです。

PHPは、非常に実用的な関数Array_Slice()を提供します。これにより、アレイから要素の一部を簡単に抽出できます。この関数を組み合わせることで、基本的な配列ページングナビゲーション機能を簡単に実装できます。この記事では、段階的に実装します。

1。array_slice関数を理解します

array_slice()の基本的な構文は次のとおりです。

 array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
  • $配列:元の配列

  • $ offset :開始位置(0から開始)

  • $の長さ:オプションのパラメーター、返される要素の数

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

2。サンプルデータ

いくつかの記事タイトルを含む配列があるとします。

 $articles = [
    "第1条", "第2条", "第3条", "第4条", "第5条",
    "第6条", "第7条", "第8条", "第9条", "第10条"
];

ページごとに3つの記事を表示したいと考えています。

3。ページングロジックの実装

まず、現在どのページを使用しているかを知り、ページ番号に基づいて対応するオフセットを計算する必要があります。

 <?php
$articles = [
    "第1条", "第2条", "第3条", "第4条", "第5条",
    "第6条", "第7条", "第8条", "第9条", "第10条"
];

$perPage = 3;
$totalArticles = count($articles);
$totalPages = ceil($totalArticles / $perPage);

// 現在のページ番号を取得します
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
if ($page < 1) $page = 1;
if ($page > $totalPages) $page = $totalPages;

// 現在のページのオフセットを計算します
$offset = ($page - 1) * $perPage;

// 使用 array_slice 現在のページのデータを取得します
$currentPageArticles = array_slice($articles, $offset, $perPage);
?>

4.ページコンテンツを表示します

次に、現在のページのデータをページに出力します。

 <ul>
<?php foreach ($currentPageArticles as $article): ?>
    <li><?php echo htmlspecialchars($article); ?></li>
<?php endforeach; ?>
</ul>

5.ページングナビゲーションリンクを生成します

また、ページの下部にページターンリンクを追加する必要があります。

 <div class="pagination">
    <?php if ($page > 1): ?>
        <a href="https://gitbox.net/pagination.php?page=<?php echo $page - 1; ?>">前のページ</a>
    <?php endif; ?>

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

    <?php if ($page < $totalPages): ?>
        <a href="https://gitbox.net/pagination.php?page=<?php echo $page + 1; ?>">次のページ</a>
    <?php endif; ?>
</div>

6。概要

array_slice()およびいくつかの基本的なページングロジックを使用して、任意の配列コンテンツにページング機能を追加できます。この方法は、データボリュームが小さく、静的コンテンツリスト、キャッシュデータ、構成アイテムディスプレイなど、データベース操作が不要なシナリオに適しています。ページネーションクエリには、データベースの制限節を使用することをお勧めします。

Array_sliceのマスタリングは、効率的なPHPアプリケーションを構築する上で重要なステップです。この記事があなたに役立つことを願っています!