The SplObjectStorage::detach() function is an inbuilt function in PHP which is used to remove objects from the storage.
Syntax:
void SplObjectStorage::detach($obj)
Parameters: This function accepts a single parameter $obj which specifies the object to be remove from the storage.
Return Value: This function does not return any value.
Below programs illustrate the SplObjectStorage::detach() function in PHP:
Program 1:
<?php   // Creating class $obj = new StdClass;   // Create an empty storage class $str = new SplObjectStorage();   // Add some object $str->attach($obj, "neveropen");   // Print result before detaching var_dump(count($str));   // Detaching object $str->detach($obj);   // Print result after detach var_dump(count($str)); ?> |
int(1) int(0)
Program 2:
<?php   // Creating class $obj1 = new StdClass; $obj2 = new StdClass; $obj3 = new StdClass;   // Create an empty storage class $str = new SplObjectStorage();   // Add some object $str->attach($obj1, "neveropen"); $str->attach($obj2); $str->attach($obj3, "GFG");   // Print result before detaching var_dump(count($str));   // Detaching object $str->detach($obj1);   // Print result after detach first object var_dump(count($str));   // Detaching object $str->detach($obj3);   // Print result after detach second object var_dump(count($str)); ?> |
int(3) int(2) int(1)
Reference: https://www.php.net/manual/en/splobjectstorage.detach.php
