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

PHP array_splice() 함수 완벽 정리 – 배열 요소 제거와 삽입 방법

PHP의 array_splice() 함수는 배열에서 지정한 위치의 요소를 제거하거나 교체하고, 필요에 따라 새로운 요소를 삽입할 수 있는 강력한 배열 처리 함수입니다. 이 함수는 제거(추출)된 요소들로 구성된 배열을 반환합니다.

문법(Syntax)

array_splice(arr1, begin, len, arr2)

매개변수(Parameters)

  • arr1 − 처리 대상이 되는 원본 배열입니다.

  • begin − 요소 제거가 시작되는 위치를 지정합니다. 0은 첫 번째 요소를 의미하며, 음수를 사용하면 배열의 끝에서부터 역산한 위치가 됩니다. 예를 들어 -2는 배열의 뒤에서 두 번째 요소부터 시작한다는 의미입니다.

  • len − 제거할 요소의 개수를 지정합니다. 이 값은 동시에 반환되는 배열의 길이도 결정합니다. 0으로 설정하면 아무 요소도 제거하지 않고 새 요소만 삽입할 수 있습니다.

  • arr2 − 원본 배열에 삽입할 요소들을 담고 있는 배열입니다. 단일 값 하나만 삽입할 경우에는 배열 전체가 아니라 해당 값만 지정해도 됩니다.

반환값(Return)

array_splice() 함수는 원본 배열에서 추출(제거)된 요소들로 이루어진 배열을 반환합니다. 단, 위 예제처럼 반환값을 변수에 담지 않으면 제거된 결과만 확인할 수 있습니다.

예제 1: 특정 위치부터 끝까지 요소 제거하기

다음은 인덱스 2부터 배열 끝까지의 요소를 제거하는 예제입니다.

<?php
$arr1 = array("mac", "windows", "linux");
array_splice($arr1, 2);
print_r($arr1);
?>

실행 결과

Array (
    [0] => mac
    [1] => windows
)

인덱스 2에 해당하는 "linux"가 제거되고, 앞의 두 요소만 남게 됩니다.

예제 2: 요소를 제거하지 않고 새 요소 삽입하기

len 값을 0으로 지정하면 기존 요소를 삭제하지 않고 특정 위치에 새 요소를 삽입할 수 있습니다.

<?php
$arr1 = array("accessories", "tablet", "laptop", "mobile");
array_splice($arr1, 3, 0, "desktop");
print_r($arr1);
?>

실행 결과

Array (
    [0] => accessories
    [1] => tablet
    [2] => laptop
    [3] => desktop
    [4] => mobile
)

인덱스 3 위치에 "desktop"이 삽입되면서, 기존의 "mobile"은 자동으로 한 칸 뒤로 밀려나게 됩니다.

정리

array_splice() 함수는 배열의 일부를 잘라내거나, 잘라낸 자리에 다른 값을 끼워 넣을 때 유용하게 사용됩니다. begin, len, arr2 세 매개변수의 조합만 잘 활용하면 요소 삭제, 교체, 삽입 작업을 모두 하나의 함수로 처리할 수 있습니다.