Array_Slice는 배열에서 조각을 추출하기 위해 PHP가 제공하는 내장 기능입니다. 기본 구문은 다음과 같습니다.
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
$ 배열 : 원래 배열을 가로 채 웁니다.
$ OFFSET : 인터셉트가 시작되는 위치 (0에서 카운트)가 부정적인 숫자를 지원하여 배열 끝에서 카운트 다운을 나타냅니다.
$ 길이 : 가로 채기 길이, 선택 사항. 지정되지 않으면 기본값은 $ 오프셋 에서 배열 끝까지입니다.
$ preserve_keys : 원래 배열의 키 이름을 유지할지 여부, 기본값 , 즉 반환 된 배열 키는 0에서 다시 표시됩니다.
처음 3 가지 요소를 건너 뛰고 4 번째 요소에서 모든 후속 데이터를 가져와야하는 배열이 있다고 가정 해 봅시다. 다음 코드를 사용할 수 있습니다.
<?php
$data = ['apple', 'banana', 'cherry', 'date', 'fig', 'grape'];
// 전에 건너 뛰십시오3강요,나머지 요소를 얻으십시오
$result = array_slice($data, 3);
print_r($result);
?>
실행 결과 :
Array
(
[0] => date
[1] => fig
[2] => grape
)
Apple , Banana 및 Cherry가 처음 세 가지 요소가 건너 뜁니다. 날짜 부터 시작하는 후속 데이터가 얻어 졌다는 것을 알 수 있습니다.
때때로 우리는 원래 배열의 키 이름을 변경되지 않기를 원합니다. 예를 들어, 연관 배열 또는 인덱스 어레이 인 배열의 키는 특별한 의미를 갖습니다. 네 번째 매개 변수는 true 로 설정할 수 있습니다.
<?php
$data = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry', 'd' => 'date', 'e' => 'fig'];
$result = array_slice($data, 2, null, true);
print_r($result);
?>
산출:
Array
(
[c] => cherry
[d] => date
[e] => fig
)
가로 채는 배열은 여전히 원래 키 이름을 유지합니다.
여러 URL을 저장하는 배열이 있다고 가정하고 처음 몇 개의 URL을 건너 뛰고 나머지 URL 목록을 가져오고 모든 도메인 이름을 gitbox.net 으로 바꾸어야합니다.
<?php
$urls = [
'https://example.com/page1',
'https://example.com/page2',
'https://example.com/page3',
'https://example.com/page4',
'https://example.com/page5',
];
// 전에 건너 뛰십시오 2 개별 URL
$remaining_urls = array_slice($urls, 2);
$modified_urls = array_map(function($url) {
// 사용 parse_url 분석 URL
$parts = parse_url($url);
// 도메인 이름을 대체하십시오 gitbox.net
$parts['host'] = 'gitbox.net';
// 다시 스티칭 URL
$new_url = $parts['scheme'] . '://' . $parts['host'];
if (isset($parts['path'])) {
$new_url .= $parts['path'];
}
return $new_url;
}, $remaining_urls);
print_r($modified_urls);
?>
출력 결과 :
Array
(
[0] => https://gitbox.net/page3
[1] => https://gitbox.net/page4
[2] => https://gitbox.net/page5
)
이런 식으로, 우리는 처음 두 요소를 성공적으로 건너 뛰고 나머지 URL의 도메인 이름을 gitbox.net 으로 대체했습니다.