Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP array_slice() 함수 완벽 가이드 – 배열 일부 추출하기

PHP의 array_slice() 함수는 배열에서 원하는 부분만 잘라내어 새로운 배열로 반환하는 함수입니다. 배열의 특정 위치부터 지정한 길이만큼의 요소를 추출할 때 유용하게 사용됩니다.

구문

array_slice(arr, begin, length, preserve)

매개변수 설명

  • arr − 대상이 되는 배열입니다.

  • begin − 배열 자르기를 시작할 위치(오프셋)를 나타냅니다. 음수를 사용하면 배열의 끝에서부터 계산됩니다. 예를 들어 -1은 마지막 요소부터, -2는 뒤에서 두 번째 요소부터 시작한다는 의미입니다.

  • length − 반환될 배열의 길이를 지정합니다. 음수 값을 입력하면 배열 끝에서 해당 개수만큼 떨어진 지점에서 자르기가 중단됩니다.

  • preserve − 원래 배열의 키(key)를 유지할지 여부를 결정합니다. TRUE면 기존 키를 보존하고, FALSE면 키를 새로 재정렬합니다.

반환값

array_slice() 함수는 배열에서 선택된 부분을 담은 새로운 배열을 반환합니다.

사용 예제 1 – preserve 옵션 사용하기

다음은 세 번째 요소부터 3개의 요소를 추출하면서 키를 유지하는 예제입니다.

<?php
$arr = array("laptop","mobile","tablet","pendrive","headphone");
print_r(array_slice($arr,2,3, true));
?>

출력 결과

Array
(
[2] => tablet
[3] => pendrive
[4] => headphone
)

네 번째 인자가 true이므로 원래 배열의 인덱스(2, 3, 4)가 그대로 유지된 것을 확인할 수 있습니다.

사용 예제 2 – preserve 옵션 미사용

이번에는 두 번째 요소부터 3개를 추출하되, 키를 유지하지 않는 예제입니다.

<?php
$arr = array("electronics","accessories","shoes","toys","bags");
print_r(array_slice($arr,1,3, false));
?>

출력 결과

Array
(
[0] => accessories
[1] => shoes
[2] => toys
)

false를 지정했기 때문에 인덱스가 0부터 다시 정렬되어 반환됩니다.

사용 예제 3 – 음수 begin 값 활용

음수 오프셋을 사용하면 배열의 끝에서부터 요소를 추출할 수 있습니다.

<?php
$arr = array("one","two","three","four");
print_r(array_slice($arr,-2));
?>

출력 결과

Array
(
[0] => three
[1] => four
)

-2를 지정했으므로 뒤에서 두 번째 요소인 "three"부터 마지막 요소까지 반환됩니다.

정리

array_slice() 함수는 시작 위치(begin), 길이(length), 키 보존 여부(preserve)를 조합하여 배열의 원하는 부분을 손쉽게 추출할 수 있는 강력한 도구입니다. 특히 음수 오프셋과 키 보존 옵션을 활용하면 다양한 상황에 유연하게 대응할 수 있습니다.