menu

array_splice 함수

함수 array_splice는 배열의 일부를 잘라내어 반환합니다. 이때 잘라낸 부분은 배열에서 사라집니다. 잘라낸 부분 대신 새로운 요소들을 삽입할 수 있습니다.

첫 번째 매개변수로 자를 배열을 지정합니다. 두 번째 매개변수로 어느 요소부터 잘라낼지 지정하고, 세 번째 매개변수로 몇 개의 요소를 잘라낼지 지정합니다. 세 번째 매개변수는 음수일 수 있습니다 - 이 경우 끝에서부터 계산을 시작합니다 (-1 - 마지막 요소, -2 - 끝에서 두 번째 요소 등). 세 번째 매개변수를 전혀 지정하지 않을 수도 있습니다 - 이 경우 배열은 끝까지 잘립니다.

마지막 선택적 매개변수에서 삭제된 부분 대신 삽입될 요소들의 배열을 지정할 수 있습니다.

구문

array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array

예제

첫 번째(번호 0) 요소부터, 3개를 잘라내 보겠습니다:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, 0, 3); var_dump($res); ?>

코드 실행 결과:

['a', 'b', 'c']

이때 $arr 배열은 다음과 같이 됩니다:

['d', 'e']

예제

두 번째(번호 1) 요소부터, 3개를 잘라내 보겠습니다:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, 1, 3); var_dump($res); ?>

코드 실행 결과:

['b', 'c', 'd']

이때 $arr 배열은 다음과 같이 됩니다:

['a', 'e']

예제

두 번째(번호 1) 요소부터 배열 끝까지 잘라내 보겠습니다. 이를 위해 세 번째 매개변수를 작성하지 않습니다:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, 1); var_dump($res); ?>

코드 실행 결과:

['b', 'c', 'd', 'e']

이때 $arr 배열은 다음과 같이 됩니다:

['a']

예제

끝에서 두 번째 요소부터, 2개를 잘라내 보겠습니다. 이를 위해 두 번째 매개변수를 -2(끝에서 두 번째 요소의 위치)로 설정합니다:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, -2, 2); var_dump($res); ?>

코드 실행 결과:

['d', 'e']

이때 $arr 배열은 다음과 같이 됩니다:

['a', 'b', 'c']

예제

두 번째(번호 1) 요소부터, 2개를 잘라내고, 그 자리에 요소 1, 2, 3를 삽입해 보겠습니다:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, 1, 2, [1, 2, 3]); var_dump($res); ?>

코드 실행 결과:

['b', 'c']

이때 $arr 배열은 다음과 같이 됩니다:

['a', 1, 2, 3, 'd', 'e']

예제

아무것도 잘라내지 않고, 위치 1부터 요소 1, 2, 3를 삽입해 보겠습니다. 이를 위해 세 번째 매개변수를 0으로 설정합니다:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; $res = array_splice($arr, 1, 0, [1, 2, 3]); var_dump($res); ?>

코드 실행 결과:

[]

이때 $arr 배열은 다음과 같이 됩니다:

['a', 1, 2, 3, 'b', 'c', 'd', 'e']

참고 항목

  • 함수 array_slice,
    이 함수는 배열 자체를 변경하지 않고 배열의 일부를 잘라냅니다.
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부