다음 코드 실행 후 배열의 상태는 무엇인가요?

과목: PHP

문제 번호: 2861

medium
다음 코드 실행 후 $data 배열의 상태는 무엇인가요?
$data = ["a", "b", "c", "d"];
unset($data[1]);
A. ["a", "c", "d"] (인덱스 0, 1, 2)
B. ["a", "c", "d"] (인덱스 0, 2, 3)
C. ["b", "c", "d"] (인덱스 0, 1, 2)
D. ["a", "b", "c"] (인덱스 0, 1, 2)

정답: B



unset() 함수는 지정된 요소를 제거하지만 인덱스를 재조정하지 않습니다

⦁ 제거 과정:
• 초기: [0=>"a", 1=>"b", 2=>"c", 3=>"d"]
unset($data[1]) 실행 후: [0=>"a", 2=>"c", 3=>"d"]
• 인덱스 1은 사라지고 빈 공간(gap)이 생성됨

⦁ unset() vs array_splice() 차이:
unset(): 인덱스 재조정 없음, 빈 공간 생성
array_splice(): 자동 인덱스 재조정

💡 학습 팁

이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.