PHP 프로그래밍에서 배열을 처리 할 때 배열에서 데이터의 특정 부분을 추출해야합니다. 수동 루프 트래버스는 성가신 일뿐 만 아니라 오류가 발생하기 쉬운다. 다행히도 PHP는 Array_Slice 에서 내장 된 매우 실용적인 기능을 가지고 있으며,이 기능은이 기능을 쉽게 구현할 수 있습니다.
Array_Slice 함수는 원래 배열의 구조를 변경하지 않고 배열에서 지정된 길이의 하위 배열을 추출 할 수 있습니다. 기능 프로토 타입은 다음과 같습니다.
array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)
$ 배열 : 작동 할 원래 배열.
$ OFFSET : 추출물의 시작 위치 (0부터 시작하면 음수가지지되고, 어레이 끝에서 음수가 계산됩니다).
$ 길이 : 추출의 길이, 생략하면 기본적으로 배열 끝까지 추출됩니다.
$ preserve_keys : 원래 배열의 키 이름을 유지 해야하는지, 기본값에서 false , 즉 Reindex.
숫자가 포함 된 배열이 있다고 가정합니다.
$numbers = [10, 20, 30, 40, 50, 60];
$slice = array_slice($numbers, 1, 3);
print_r($slice);
출력 결과 :
Array
(
[0] => 20
[1] => 30
[2] => 40
)
원래 배열의 인덱스는 1에서 시작되지만 출력 배열의 인덱스는 0에서 시작됩니다.
$slice = array_slice($numbers, -2, 2);
print_r($slice);
출력 결과 :
Array
(
[0] => 50
[1] => 60
)
$slice = array_slice($numbers, 2, 2, true);
print_r($slice);
출력 결과 :
Array
(
[2] => 30
[3] => 40
)
현재 원래 배열의 키 이름이 유지됩니다.
데이터베이스의 모든 레코드를 나타내는 배열이 있다고 가정합니다. 페이징을 구현하려면 페이지 당 5 가지 데이터를 표시하려면 다음과 같이 쓸 수 있습니다.
$allData = range(1, 100); // 시뮬레이션 1-100 데이터의 데이터
$page = 3; // 현재 페이지 번호
$perPage = 5; // 페이지 당 데이터 수
$offset = ($page - 1) * $perPage;
$pageData = array_slice($allData, $offset, $perPage);
print_r($pageData);
3 페이지 데이터로 출력 :
Array
(
[0] => 11
[1] => 12
[2] => 13
[3] => 14
[4] => 15
)
$ 오프셋이 배열 길이를 초과하면 Array_Slice가 빈 배열을 반환합니다.
$ 길이 가 음수이면 해당 요소 수는 배열 끝에서 제외됩니다.
연관 배열을 슬라이스 할 때 $ preserve_keys 매개 변수를 활성화하는 것이 좋습니다. 그렇지 않으면 다시 인덱싱되며 이는 후속 로직에 영향을 줄 수 있습니다.
Array_Slice 는 PHP의 배열 절단을 처리하기위한 강력한 도구입니다. 간단하고 효율적이며 특히 페이징 및 데이터 차단과 같은 일반적인 요구에 적합합니다. 매개 변수를 마스터하면 배열 처리를보다 유연하고 정확하게 만들 수 있습니다.
// 샘플 코드 데모 array_slice 기본 사용
$fruits = ['apple', 'banana', 'orange', 'pear', 'grape'];
// 두 번째 요소에서 시작합니다3강요
$sliced = array_slice($fruits, 1, 3);
print_r($sliced);
// 결합 URL 예,교체해야한다고 가정하십시오 URL 도메인 이름은입니다 gitbox.net
$url = "https://example.com/path/to/resource";
$modifiedUrl = preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
echo $modifiedUrl; // 산출 https://gitbox.net/path/to/resource
이러한 방식으로 도메인 이름을 교체하는 것은 URL 처리와 관련된 PHP 코드에서 매우 간단하고 실용적입니다.