
SplObjectStorage::offsetUnset() 메서드는 SplObjectStorage 객체 내에 저장된 특정 객체를 삭제하는 메서드입니다.
이 메서드는 SplObjectStorage 객체 내에 저장된 객체의 키를 인수로 전달하면, 해당 객체를 삭제합니다.
예를 들어, SplObjectStorage 객체를 $storage로 선언하고, 객체를 저장한 후 삭제하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$storage = new SplObjectStorage();
$obj1 = new stdClass();
$obj2 = new stdClass();
$storage->attach($obj1);
$storage->attach($obj2);
// 저장된 객체를 삭제하는 방법
$storage->offsetUnset($obj1);
// 또는 키를 사용하여 삭제할 수 있습니다.
$storage->offsetUnset($obj1, $obj1);
offsetUnset() 메서드는 객체를 삭제할 때, 해당 객체의 참조를 삭제합니다. 따라서, 객체가 삭제된 후에도 $storage->contains($obj1)로 확인할 수 있습니다.
만약, 객체를 삭제하고자 하는 경우에는 unset() 함수를 사용하여 객체를 삭제하고, SplObjectStorage::offsetUnset() 메서드를 사용하여 객체를 삭제하는 순서로 진행하는 것이 좋습니다.
#hostingforum.kr
php
unset($obj1);
$storage->offsetUnset($obj1);
2025-06-11 13:46