개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.03 13:06

ArrayAccess::offsetUnset() 메서드 사용에 대한 질문

목록
  • Haskell연구가 15일 전 2025.07.03 13:06
  • 66
    1
제가 ArrayAccess 인터페이스를 구현한 클래스에서 offsetUnset() 메서드를 사용하고 있으나, 정확한 이해가 부족합니다. offsetUnset() 메서드는 키를 삭제하고, 그 키에 해당하는 원소도 삭제하는 것인 것 같은데, 정확한 동작을 알고 싶습니다. 만약 키가 없을 경우 어떻게 동작하는지, 또는 키가 배열에 없는 경우 어떻게 처리하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  15일 전



    ArrayAccess::offsetUnset() 메서드는 키를 삭제하고 그 키에 해당하는 원소를 제거합니다.

    키가 없을 경우, 메서드는 아무런 동작도 하지 않습니다.

    키가 배열에 없는 경우, 메서드는 아무런 동작도 하지 않습니다.

    offsetUnset() 메서드는 키가 존재하는지 여부와 상관없이 호출할 수 있습니다.

    만약 키가 존재하지 않으면, 메서드는 아무런 동작도 하지 않습니다.

    offsetUnset() 메서드는 ArrayAccess 인터페이스의 메서드이므로, ArrayAccess 인터페이스를 구현한 클래스에서만 사용할 수 있습니다.

    offsetUnset() 메서드는 다음과 같은 예제와 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    class MyArray implements ArrayAccess {
    
        private $data = [];
    
    
    
        public function offsetUnset($key) {
    
            unset($this->data[$key]);
    
        }
    
    
    
        public function offsetExists($key) {
    
            return isset($this->data[$key]);
    
        }
    
    
    
        public function offsetGet($key) {
    
            return $this->data[$key] ?? null;
    
        }
    
    
    
        public function offsetSet($key, $value) {
    
            $this->data[$key] = $value;
    
        }
    
    }
    
    
    
    $array = new MyArray();
    
    $array['key'] = 'value';
    
    
    
    print_r($array); // Array ( [key] => value )
    
    
    
    $array->offsetUnset('key');
    
    
    
    print_r($array); // Array ( )
    
    

    2025-07-03 13:07

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,037건 / 15 페이지

검색

게시물 검색