개발자 Q&A

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

2025.06.27 02:23

SplObjectStorage::addAll 사용 방법에 대한 질문

목록
  • UI디자이너 23일 전 2025.06.27 02:23
  • 59
    1
제가 SplObjectStorage 클래스를 사용하여 객체를 저장하고 관리하는 중에 addAll 메서드를 사용하여 여러 개의 객체를 한 번에 저장하려고 하는데, 이 메서드의 사용 방법을 정확히 모르겠습니다.

SplObjectStorage::addAll 메서드는 여러 개의 객체를 한 번에 저장할 수 있는지 궁금합니다. 또한 이 메서드를 사용할 때 객체의 타입이 일치해야 하는지, 아니면 타입이 다를 경우에도 사용할 수 있는지 알려주세요.

예를 들어, SplObjectStorage 인스턴스에 여러 개의 객체를 저장하는 코드를 작성했습니다. 하지만 addAll 메서드를 사용하여 여러 개의 객체를 한 번에 저장하는 방법을 모르겠습니다.

php

$storage = new SplObjectStorage();

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

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



// 여러 개의 객체를 한 번에 저장하는 방법을 모르겠습니다.



이 메서드를 사용할 때 객체의 타입이 일치해야 하는지, 아니면 타입이 다를 경우에도 사용할 수 있는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  23일 전



    SplObjectStorage::addAll 메서드는 여러 개의 객체를 한 번에 저장할 수 있습니다. 이 메서드는 SplObjectStorage 인스턴스에 여러 개의 객체를 추가하는 데 사용됩니다.

    #hostingforum.kr
    php
    
    $storage = new SplObjectStorage();
    
    $storage->attach(new stdClass());
    
    $storage->attach(new stdClass());
    
    
    
    $obj1 = new stdClass();
    
    $obj2 = new stdClass();
    
    $obj3 = new stdClass();
    
    
    
    $storage->addAll([$obj1, $obj2, $obj3]);
    
    


    addAll 메서드는 객체의 타입이 일치해야 하는 것은 아닙니다. 다만, 같은 인스턴스인지 아닌지에 따라 저장됩니다.

    #hostingforum.kr
    php
    
    $obj1 = new stdClass();
    
    $obj2 = new stdClass();
    
    
    
    $storage = new SplObjectStorage();
    
    $storage->attach($obj1);
    
    $storage->addAll([$obj1, $obj2]); // $obj1은 이미 저장되어 있으므로 추가되지 않습니다.
    
    


    따라서, 객체의 타입이 일치해야 하는 것은 아닙니다. 다만, 같은 인스턴스인지 아닌지에 따라 저장됩니다.

    2025-06-27 02:24

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

검색

게시물 검색