현재 위치: > 최신 기사 목록> array_slice를 사용하여 페이징 기능을 구현하는 간단한 예입니다

array_slice를 사용하여 페이징 기능을 구현하는 간단한 예입니다

gitbox 2025-05-26

array_slice 란 무엇입니까?

Array_Slice는 배열에서 연속적인 요소를 추출하기 위해 PHP의 내장 기능입니다. 기본 구문은 다음과 같습니다.

 array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
  • $ 배열 : 배열이 가로 채 웁니다

  • $ 오프셋 : 시작 위치, 0 첫 번째 요소에서 시작하는 0을 의미합니다.

  • $ 길이 : 절편의 길이. 지정되지 않은 경우 기본값은 배열 끝입니다.

  • $ preserve_keys : 원래 배열의 키 이름을 유지할지, 기본값은 false


배열을 구현하려면 array_slice를 사용하십시오

100 개의 데이터가 포함 된 배열이 있다고 가정하고 이제는 페이지 당 10 개의 데이터를 표시하는 페이징 기능을 구현해야합니다.

1. 페이징 매개 변수를 계산합니다

  • 현재 페이지 번호 $ 페이지 (1부터 시작)

  • 페이지 당 표시된 문자 수 . $ pageize

  • 배열의 시작점을 계산합니다. intercept $ olfset = ($ page -1) * $ pagesize

2. 현재 페이지의 데이터를 가로 채립니다

Array_Slice를 사용하여 배열에서 현재 페이지의 데이터를 가로 채기 만하면됩니다.


샘플 코드

 <?php
// 데이터 배열 시뮬레이션
$data = range(1, 100); // 생성 포함 포함 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? = 2에 액세스하면 2 페이지의 내용이 표시됩니다.


요약

간단한 페이징 계산과 결합 된 PHP의 array_slice 함수를 사용하면 배열의 페이징 기능을 쉽게 구현할 수 있습니다. 페이징 데이터는 일반적으로 실제 개발의 데이터베이스에서 나오지만 Array_Slice는 소규모 데이터 세트 또는 캐시 된 데이터에 대한 매우 가볍고 효율적인 솔루션입니다.

핵심 요점은 올바른 오프셋 $ 오프셋을 계산하고 페이지 당 표시되는 막대 수를 제어하여 페이징 효과를 쉽게 달성 할 수 있습니다.