array_slice 함수
함수 array_slice는 배열의 일부를 잘라내어
반환합니다. 이때 원본 배열은 변경되지 않습니다.
첫 번째 매개변수는 자를 배열을 지정합니다.
두 번째 매개변수는 몇 번째 요소부터 잘라낼지를
지정하고, 세 번째 매개변수는 몇 개의 요소를
잘라낼지를 지정합니다. 두 번째 매개변수는
음수일 수 있습니다. 이 경우 끝에서부터 계산이
시작됩니다(-1 - 마지막 요소,
-2 - 끝에서 두 번째 요소 등). 세 번째 매개변수는
아예 지정하지 않을 수 있습니다. 이 경우
배열 끝까지 잘라냅니다.
마지막 선택적 매개변수는 자를 때 키를
유지할지 여부를 조정합니다. true -
유지, false (기본값) - 유지하지 않음.
문자열 키는 이 매개변수의 값과 관계없이
항상 유지됩니다.
문법
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
예제
첫 번째(번호 0) 요소부터 3개를
잘라내 보겠습니다:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
코드 실행 결과:
['a', 'b', 'c']
예제
두 번째(번호 1) 요소부터 3개를
잘라내 보겠습니다:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
코드 실행 결과:
['b', 'c', 'd']
예제
두 번째(번호 1) 요소부터 배열 끝까지
잘라내 보겠습니다. 이를 위해 세 번째
매개변수를 작성하지 않습니다:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
코드 실행 결과:
['b', 'c', 'd', 'e']
예제
끝에서 두 번째 요소부터 2개를
잘라내 보겠습니다. 이를 위해 두 번째 매개변수를
-2(끝에서 두 번째 요소의 위치)로
설정합니다:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
코드 실행 결과:
['d', 'e']
예제
기본적으로 배열을 잘라낼 때 키는 유지되지 않습니다:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
코드 실행 결과:
['a', 'b', 'c']
예제
키가 유지되도록 해 보겠습니다. 이를 위해 마지막 매개변수를 true로 설정합니다:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
코드 실행 결과:
[1 => 'a', 2 => 'b', 3 => 'c']
예제
문자열 키는 잘라낼 때 유지됩니다:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
코드 실행 결과:
['a' => 1, 'b' => 2, 'c' => 3]
함께 보기
-
함수
array_splice,
배열의 일부를 잘라내면서 원본 배열을 변경합니다