PHP에서 연관 배열(associative array)의 맨 앞에 새로운 항목을 추가하려면 내장 함수인 array_unshift()를 사용하면 됩니다. 이 함수는 배열의 시작 부분에 하나 이상의 요소를 삽입하며, 기존 요소들은 자동으로 뒤로 밀려납니다.
기본 사용 예제
아래 예제는 연관 배열의 시작 위치에 새 값을 추가하는 방법을 보여줍니다.
<?php $arr = array( "p"=>"150", "q"=>"100", "r"=>"120", "s"=>"110", "t"=>"115", "u"=>"103", "v"=>"105", "w"=>"125" ); echo "초기 배열:\n"; print_r($arr); array_unshift($arr,"100"); echo "\n업데이트된 배열:\n"; print_r($arr); ?>
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
초기 배열: Array( [p] => 150 [q] => 100 [r] => 120 [s] => 110 [t] => 115 [u] => 103 [v] => 105 [w] => 125 ) 업데이트된 배열: Array ( [0] => 100 [p] => 150 [q] => 100 [r] => 120 [s] => 110 [t] => 115 [u] => 103 [v] => 105 [w] => 125 )
출력 결과에서 주목할 점은 새로 추가된 값 100이 숫자 인덱스 [0]으로 할당되었다는 것입니다. 즉, 키를 지정하지 않고 값을 추가하면 PHP는 자동으로 정수 인덱스를 부여합니다.
숫자 인덱스 배열 예제
일반적인 숫자 인덱스 배열에서도 동일하게 동작합니다. 아래 예제를 살펴보겠습니다.
<?php $arr = array( 0=>"Ryan", 1=>"Kevin", 2=>"Jack" ); echo "초기 배열:\n"; print_r($arr); array_unshift($arr,"Katie"); echo "\n업데이트된 배열:\n"; print_r($arr); ?>
출력 결과
실행 결과는 다음과 같습니다.
초기 배열: Array( [0] => Ryan [1] => Kevin [2] => Jack ) 업데이트된 배열: Array( [0] => Katie [1] => Ryan [2] => Kevin [3] => Jack )
핵심 포인트 정리
array_unshift()는 배열의 맨 앞에 요소를 추가합니다.- 키를 명시하지 않으면 새 요소에는 자동으로 정수 인덱스(0부터)가 부여됩니다.
- 연관 배열이라도 문자열 키는 그대로 유지되며, 기존 정수 키만 재정렬됩니다.
- 여러 개의 값을 한 번에 추가하려면
array_unshift($arr, 값1, 값2, ...)처럼 쉼표로 구분해 전달하면 됩니다.
반대로 배열의 끝에 항목을 추가하고 싶다면 array_push() 또는 대괄호 문법($arr[] = 값;)을 사용하면 됩니다.