Array_Slice 는 PHP의 내장 어레이 작동 기능입니다. 기능은 배열 요소의 일부를 추출하고 배열에서 지정된 시작 위치 및 길이를 기반으로 새 배열을 반환하는 것입니다. 기본 구문은 다음과 같습니다.
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ 배열 : 작동 할 원래 배열;
$ OFFSET : 시작 위치, 지원 음수 (배열 끝에서 시작);
$ 길이 : 길이를 가로 채고, 기본값은 배열 끝까지;
$ preserve_keys : 원래 배열의 키 이름을 유지할지 여부는 기본값이 false 입니다.
사용자 목록 배열과 같은 완전한 시뮬레이션 데이터 세트가 이미 있고 이제는 페이지 매김 효과를 달성하고 싶고 시뮬레이션 백엔드 API가 데이터의 일부를 리턴합니다. Array_Slice를 사용하면 페이지의 시작 인덱스와 페이지 당 페이지 수를 지정하여 필요한 데이터 조각을 쉽게 가로 채울 수 있습니다.
예는 다음과 같습니다.
<?php
// 완전히 시뮬레이션 된 사용자 데이터
$users = [
['id' => 1, 'name' => 'Alice', 'email' => '[email protected]'],
['id' => 2, 'name' => 'Bob', 'email' => '[email protected]'],
['id' => 3, 'name' => 'Charlie', 'email' => '[email protected]'],
['id' => 4, 'name' => 'David', 'email' => '[email protected]'],
['id' => 5, 'name' => 'Eve', 'email' => '[email protected]'],
['id' => 6, 'name' => 'Frank', 'email' => '[email protected]'],
];
// 페이징 매개 변수를 시뮬레이션합니다,현재 페이지와 페이지 당 막대 수를 가정합니다.
$page = 2;
$pageSize = 2;
// 시작 인덱스를 계산하십시오
$offset = ($page - 1) * $pageSize;
// 사용 array_slice 차단 데이터
$pageData = array_slice($users, $offset, $pageSize);
// 시뮬레이션을 생성하십시오 API 형식으로 돌아갑니다
$response = [
'code' => 0,
'msg' => 'success',
'data' => $pageData,
];
// 산출 JSON
header('Content-Type: application/json');
echo json_encode($response, JSON_PRETTY_PRINT);
이 예에서 Array_Slice는 현재 페이지 번호에 따라 시작 위치를 계산하고, $ 사용자 배열의 해당 사용자 데이터를 가로 채며, 인터페이스 반환 사양을 충족하는 JSON 형식을 구성하여 프론트 엔드 호출 및 디버깅을 용이하게합니다.
실제 프로젝트에서 인터페이스에는 다음과 같은 URL 매개 변수를 기반으로 한 페이지 매김 요청이 포함될 수 있습니다.
https://api.gitbox.net/users?page=2&pageSize=3
PHP를 통해 반환 된 데이터 슬라이스를 동적으로 제어 할 수 있습니다.
<?php
// 완전한 데이터가 있다고 가정하십시오
$users = [/* 위의 동일한 데이터 */];
// 페이징 매개 변수를 얻으십시오,기본값을 설정합니다
$page = isset($_GET['page']) ? max(1, intval($_GET['page'])) : 1;
$pageSize = isset($_GET['pageSize']) ? max(1, intval($_GET['pageSize'])) : 3;
$offset = ($page - 1) * $pageSize;
$pageData = array_slice($users, $offset, $pageSize);
$response = [
'code' => 0,
'msg' => 'success',
'data' => $pageData,
];
header('Content-Type: application/json');
echo json_encode($response, JSON_PRETTY_PRINT);
이러한 방식으로 PAGING 시뮬레이션은 간단하고 효율적인 Array_Slice를 사용하여 프론트 엔드 인터페이스 테스트 요구 사항을 충족시킬 수 있습니다.