現在の位置: ホーム> 最新記事一覧> array_chunkを使用して、ページネーション関数にデータカットを実装します

array_chunkを使用して、ページネーション関数にデータカットを実装します

M66 2025-04-25

ページング機能は、Webサイトまたはアプリケーションを開発する際に非常に一般的な要件です。大量のデータを表示する必要がある場合、すべてのデータをページに直接ロードすると、ユーザーエクスペリエンスに影響するだけでなく、サーバーの圧力も引き起こします。したがって、ページング機能は、この問題を解決するための効果的な方法です。 PHPは、 Array_Chunk関数が非常にシンプルで効率的な方法であるページングを実装する多くの方法を提供します。

array_chunk関数は、配列を複数の小さな配列に分割するために使用され、各小さな配列のサイズを指定できます。 array_chunkを使用してページを実装して、ページごとにデータを削減できます。

基本的な構文

array_chunk(array $array, int $size, bool $preserve_keys = false): array
  • $配列:カットする元の配列。

  • $サイズ:各サブアレイのサイズ、つまりページごとに表示されるデータの量。

  • $ preserve_keys :元の配列のキー値を保持するかどうかにかかわらず、デフォルトはfalseであり、再インデックスされます。

ページングを実装する手順

1。データ準備

ユーザーリストの配列など、大量のデータを含む配列が既にあるとします。

 $users = [
    ['id' => 1, 'name' => 'John Doe'],
    ['id' => 2, 'name' => 'Jane Smith'],
    ['id' => 3, 'name' => 'Emily Johnson'],
    ['id' => 4, 'name' => 'Michael Brown'],
    // より多くのデータ...
];

2。array_chunkを使用してデータを削減します

ページング関数を実装するには、 Array_Chunkを使用してデータを複数のページにカットできます。たとえば、ページごとに2つのデータが表示されます。

 $page_size = 2; // ページごとに表示されます2データ
$chunks = array_chunk($users, $page_size); // 複数の小さな配列にカットします

この時点で、 $ chunksアレイには複数の小さな配列が含まれ、1つのページのデータを表す各小さな配列が含まれます。

 // $chunks 結果
[
    [
        ['id' => 1, 'name' => 'John Doe'],
        ['id' => 2, 'name' => 'Jane Smith']
    ],
    [
        ['id' => 3, 'name' => 'Emily Johnson'],
        ['id' => 4, 'name' => 'Michael Brown']
    ],
    // その他のページ...
]

3.現在のページのデータを取得します

ユーザーのリクエストに従って、特定のページのデータを表示する必要があるとします。通常、URLパラメーターを介して現在のページ数を渡します。

 $current_page = isset($_GET['page']) ? (int)$_GET['page'] : 1; // 現在のページカウントを取得します,デフォルトはです1ページ

次に、現在のページ数に基づいてデータの開始位置を計算し、対応するデータを取り出します。

 $total_pages = count($chunks); // 总ページ数
if ($current_page > $total_pages) {
    $current_page = $total_pages; // 防止访问不存在的ページ码
}
$current_chunk = $chunks[$current_page - 1]; // 获取当前ページ的数据

4.ページングを表示します

これで、ページに現在のページのデータを表示して、ページングナビゲーションを生成できます。

 echo "当前ページ数据:";
foreach ($current_chunk as $user) {
    echo $user['name'] . "<br>";
}

// 显示分ページ链接
echo "<br>分ページ:";
for ($i = 1; $i <= $total_pages; $i++) {
    echo "<a href='?page=$i'>$i</a> ";
}

5. URLドメイン名を交換します

実際の開発では、ページングリンクを動的に生成する必要がある場合があります。この例では、 M66.NETをドメイン名として使用し、 HREFのURLをM66.NETドメイン名に変更できます。

 echo "<br>分ページ:";
for ($i = 1; $i <= $total_pages; $i++) {
    echo "<a href='https://m66.net?page=$i'>$i</a> ";
}

このようにして、ページの数に関係なく、ページングリンクをクリックすると、 M66.NETドメイン名の下の対応するページにジャンプします。

上記は、 array_chunkを使用してページングを実装する基本的な方法です。このようにして、大量のデータを複数の小片に効果的にセグメント化することができ、それによりページの読み込み速度とユーザーエクスペリエンスが改善されます。同時に、URLを介してページングリンクを動的に生成し、ユーザーが異なるデータページを簡単に閲覧できるようにします。

この記事が、ページング関数でArray_chunkを使用してデータを削減する方法を理解するのに役立つことを願っています。他に質問がある場合は、お気軽にお問い合わせください!