
offsetUnset 메서드는 SplFixedArray 객체에서 지정된 인덱스의 요소를 삭제합니다. 그러나 SplFixedArray 객체는 고정된 크기를 가집니다. 따라서 인덱스 5에 있는 요소를 삭제하려고 시도하면, 실제로 삭제되지 않고 다른 요소들이 이동하는 현상이 발생합니다.
인덱스 5에 있는 요소를 제대로 삭제하려면, 인덱스 5 이후의 요소를 모두 이동시키는 방법을 사용해야 합니다. 예를 들어, 인덱스 5에 있는 요소를 삭제하고 인덱스 5 이후의 요소를 모두 1씩 이동시키는 방법을 사용할 수 있습니다.
다음은 인덱스 5에 있는 요소를 제대로 삭제하는 코드 예제입니다.
#hostingforum.kr
php
$splFixedArray = new SplFixedArray(10);
$splFixedArray[5] = '값';
for ($i = 5; $i < $splFixedArray->count(); $i++) {
if ($i != 5) {
$splFixedArray[$i - 1] = $splFixedArray[$i];
}
}
$splFixedArray[$splFixedArray->count() - 1] = null;
위 코드는 인덱스 5에 있는 요소를 삭제하고 인덱스 5 이후의 요소를 모두 1씩 이동시킵니다. 인덱스 5 이후의 요소를 모두 이동시키면, 인덱스 5에 있는 요소가 제대로 삭제됩니다.
2025-05-15 19:31