현재 위치: > 최신 기사 목록> API를 페이징 할 때 Array_Chunk를 사용하여 데이터를 차단하십시오

API를 페이징 할 때 Array_Chunk를 사용하여 데이터를 차단하십시오

M66 2025-04-28

API를 개발할 때는 일반적으로 데이터 양이 너무 커지고 모든 데이터를 직접 반환하면 성능 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해 Pagination은 일반적으로 데이터를 배치로 반환하는 데 사용됩니다. PHP의 Array_Chunk 함수는 API 데이터를 페이징 할 때 데이터를 쉽게 차단하는 데 도움이 될 수 있습니다.

1. Array_Chunk 함수는 무엇입니까?

Array_Chunk 함수는 PHP가 제공하는 배열 처리 기능으로, 큰 배열을 여러 개의 작은 조각으로 나누는 데 사용됩니다. 함수의 기본 구문은 다음과 같습니다.

 array_chunk(array $array, int $size, bool $preserve_keys = false) : array
  • $ 배열 : 입력 배열.

  • $ 크기 : 각 청크의 크기.

  • $ preserve_keys : 원래 배열의 키 이름을 유지할지 여부는 기본값이 false , 즉 인덱스를 재구성합니다.

2. API Pagination 시나리오

데이터베이스 또는 기타 데이터 소스에서 많은 양의 데이터를 얻을 수있는 API를 개발하고 클라이언트에게 복귀해야한다고 가정합니다. Pagination은 일반적으로 한계오프셋 매개 변수를 통해 구현됩니다. 예를 들면 : 한계 = 10 이면 매번 10 개의 데이터가 반환되고 오프셋 = 20은 21 번째 데이터에서 돌아 오는 것을 의미합니다.

이 시나리오에서 array_chunk 함수를 사용하면 쿼리 데이터를 쉽게 차단하여 API 페이징의 효과를 달성 할 수 있습니다.

3. 샘플 코드

API에서 일련의 데이터를 얻은 다음 여러 페이지로 나누어 반환한다고 가정합니다. Array_Chunk 함수를 사용하여이를 달성 할 수 있습니다.

 // 가정합니다 API 또는 데이터베이스에서 얻은 데이터
$data = [
    ['id' => 1, 'name' => 'Item 1'],
    ['id' => 2, 'name' => 'Item 2'],
    ['id' => 3, 'name' => 'Item 3'],
    ['id' => 4, 'name' => 'Item 4'],
    ['id' => 5, 'name' => 'Item 5'],
    ['id' => 6, 'name' => 'Item 6'],
    ['id' => 7, 'name' => 'Item 7'],
    ['id' => 8, 'name' => 'Item 8'],
    ['id' => 9, 'name' => 'Item 9'],
    ['id' => 10, 'name' => 'Item 10'],
];

// 페이지 당 표시되는 데이터 양을 설정하십시오
$page_size = 3;

// 사용 array_chunk 분할
$chunks = array_chunk($data, $page_size);

// 시뮬레이션 페이징 기능
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;  // 현재 페이지
$total_pages = count($chunks);  // 총 페이지 수

// 获取현재 페이지的数据
$current_page_data = isset($chunks[$page - 1]) ? $chunks[$page - 1] : [];

echo "Page $page of $total_pages\n";
foreach ($current_page_data as $item) {
    echo "ID: {$item['id']}, Name: {$item['name']}\n";
}

// 간단한 페이지 매김 내비게이션
if ($page > 1) {
    echo "<a href='/api.php?page=" . ($page - 1) . "'>Previous</a> ";
}
if ($page < $total_pages) {
    echo "<a href='/api.php?page=" . ($page + 1) . "'>Next</a>";
}

이 예에서는 먼저 10 개의 데이터가 포함 된 배열 데이터를 시뮬레이션 한 다음 Array_Chunk를 통해 페이지 당 3 개의 레코드로 데이터를 나눕니다. 다음으로 URL 매개 변수 페이지를 통해 페이징 기능을 시뮬레이션하고 사용자는 "이전 페이지"및 "다음 페이지"버튼을 클릭하여 페이지를 전환 할 수 있습니다.

4. URL 도메인 이름 교체를 처리합니다

페이징 링크에서 URL을 사용하고 URL 도메인 이름을 M66.net 으로 바꾸려면 다음 방법을 사용할 수 있습니다.

 // 통과하다 str_replace 도메인 이름을 바꾸십시오
$current_url = "http://example.com/api.php?page=1";
$new_url = str_replace("example.com", "m66.net", $current_url);

// 출력이 교체됩니다 URL
echo "New URL: $new_url\n";

이 코드는 example.com을 M66.net 으로 대체하여 페이징 링크 도메인 이름 교체에 사용할 수 있습니다.

5. 요약

PHP의 Array_Chunk 함수는 대형 데이터 세트에서 페이징 작업을 처리하는 데 이상적이며 데이터를 여러 블록으로 쉽게 분할 할 수 있습니다. API를 개발할 때이 기능을 사용하여 데이터 페이징을 구현하여 응용 프로그램 성능 및 사용자 경험을 향상시킬 수 있습니다. 동시에 문자열 교체 방법을 사용하면 URL에서 도메인 이름을 유연하게 조정하여 API 링크를 필요에 따라 사용자 정의 할 수 있습니다.

이 예제가 PHP에서 API 데이터를 페이징 하는 방법을 이해하는 데 도움이되기를 바랍니다. 질문이 있으시면 언제든지 질문하십시오!