개발자 Q&A

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

2025.07.26 11:32

SplObjectStorage::contains 사용법에 대한 질문

목록
  • 로드밸런서연구가 1일 전 2025.07.26 11:32
  • 20
    1
제가 SplObjectStorage::contains 메소드를 사용하여 객체가 저장되어 있는지 확인하려고 합니다. 하지만, contains 메소드의 반환값이 boolean 타입이라는 것을 알게 되었는데, 이 메소드를 사용한 결과 boolean 타입이 true인 경우와 false인 경우를 구분하는 방법을 알고 싶습니다.

제가 사용한 코드는 다음과 같습니다.

php

$storage = new SplObjectStorage();

$storage->attach(new stdClass());

var_dump($storage->contains(new stdClass()));



위의 코드는 어떻게 해석되어야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    contains 메소드는 객체가 저장되어 있는지 확인하는 메소드입니다. 반환값이 boolean 타입인 이유는 객체가 저장되어 있으면 true, 없으면 false가 반환되기 때문입니다.

    위의 코드를 해석해 보면, 새로운 stdClass 객체를 생성하고 SplObjectStorage 객체에 attach합니다. 그런 다음, contains 메소드를 호출하여 반환값을 확인합니다.

    이 경우, contains 메소드는 true를 반환합니다. 이유는 stdClass 객체가 이미 SplObjectStorage 객체에 attach되어 있기 때문입니다.

    따라서, contains 메소드를 사용한 결과 boolean 타입이 true인 경우는 객체가 저장되어 있는 경우이며, false인 경우는 객체가 저장되어 있지 않은 경우입니다.

    객체가 저장되어 있는지 확인하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    if ($storage->contains($object)) {
    
        // 객체가 저장되어 있습니다.
    
    } else {
    
        // 객체가 저장되어 있지 않습니다.
    
    }
    
    


    위의 코드를 사용하면, 객체가 저장되어 있는지 확인할 수 있습니다.

    2025-07-26 11:33

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

검색

게시물 검색