실제 개발에서는 종종 목록 디스플레이 페이지와 같은 큰 2 차원 배열 페이징을 표시해야합니다. PHP는 매우 실용적인 기능 array_chunk ()를 제공하여 큰 배열을 여러 개의 작은 배열로 분할 할 수 있습니다. 이 튜토리얼에서는 Array_Chunk () 함수를 사용하여 큰 2D 배열을 페이지를 입력하는 방법을 배웁니다.
많은 사용자 프로필 정보가 포함 된 큰 2 차원 배열이 있다고 가정합니다. 각 페이지에 5 개의 레코드가 표시된이 정보 페이지를 표시하려고합니다. Array_Chunk ()를 사용 하여이 기능을 구현합니다.
큰 2D 배열을 준비하십시오
2 차원 20 개의 레코드가 있다고 가정합니다. 각 레코드는 사용자 정보입니다.
<?php
$users = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
['id' => 4, 'name' => 'David', 'email' => 'david@m66.net'],
['id' => 5, 'name' => 'Eve', 'email' => 'eve@m66.net'],
['id' => 6, 'name' => 'Frank', 'email' => 'frank@m66.net'],
['id' => 7, 'name' => 'Grace', 'email' => 'grace@m66.net'],
['id' => 8, 'name' => 'Hannah', 'email' => 'hannah@m66.net'],
['id' => 9, 'name' => 'Ivy', 'email' => 'ivy@m66.net'],
['id' => 10, 'name' => 'Jack', 'email' => 'jack@m66.net'],
['id' => 11, 'name' => 'Kevin', 'email' => 'kevin@m66.net'],
['id' => 12, 'name' => 'Lily', 'email' => 'lily@m66.net'],
['id' => 13, 'name' => 'Mason', 'email' => 'mason@m66.net'],
['id' => 14, 'name' => 'Nina', 'email' => 'nina@m66.net'],
['id' => 15, 'name' => 'Oscar', 'email' => 'oscar@m66.net'],
['id' => 16, 'name' => 'Paul', 'email' => 'paul@m66.net'],
['id' => 17, 'name' => 'Quincy', 'email' => 'quincy@m66.net'],
['id' => 18, 'name' => 'Rachel', 'email' => 'rachel@m66.net'],
['id' => 19, 'name' => 'Sam', 'email' => 'sam@m66.net'],
['id' => 20, 'name' => 'Tina', 'email' => 'tina@m66.net']
];
?>
array_chunk ()를 사용한 페이지 매김
Array_Chunk () 함수는 배열을 지정된 크기의 여러 서브 배달로 나눕니다. 각 페이지의 레코드를 5로 제한하고 페이지에 표시 할 수 있습니다.
<?php
// 페이지 당 표시됩니다 5 기록
$page_size = 5;
// 사용 array_chunk() 큰 배열을 여러 개의 작은 배열로 분할하십시오
$paged_users = array_chunk($users, $page_size);
// PAGED 사용자 정보를 출력합니다
echo '<pre>';
print_r($paged_users);
echo '</pre>';
?>
이러한 방식으로 $ paged_users 는 2 차원 배열이며 각 서브 어레이에는 5 개의 사용자 레코드가 포함되어 있습니다. 예를 들어 첫 페이지에는 5 개의 레코드가 표시되고 두 번째 페이지에는 다음 5 개의 레코드 등이 표시됩니다.
페이지 매김 디스플레이
웹 페이지의 각 페이지에 사용자 정보를 표시해야한다고 가정합니다. 현재 페이지 수와 총 페이지 수를 계산하여 페이징 링크를 동적으로 생성 할 수 있습니다.
<?php
$total_pages = count($paged_users);
$current_page = 1; // 첫 페이지라고 가정하십시오
// 현재 페이지에 사용자 정보를 표시합니다
echo '현재 페이지:' . $current_page . '<br>';
foreach ($paged_users[$current_page - 1] as $user) {
echo 'ID: ' . $user['id'] . ',이름: ' . $user['name'] . ',우편: ' . $user['email'] . '<br>';
}
// 페이징 링크 표시
echo '<br>페이지 매김 링크:<br>';
for ($i = 1; $i <= $total_pages; $i++) {
echo '<a href="page.php?page=' . $i . '">1.' . $i . '페이지</a> ';
}
?>
여기서 우리는 현재 페이지 수가 문자열을 쿼리하여 결정한다고 가정합니다 (예 : page.php? page = 1 ). 링크를 동적으로 생성하면 사용자는 다른 페이지를 클릭하여 해당 데이터를 볼 수 있습니다.