PHP SplObjectStorage detach() Function

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, "zambiatek"); // Print result before detaching var_dump(count($str)); // Detaching object $str->detach($obj); // Print result after detach var_dump(count($str)); ?> |
Output:
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, "zambiatek"); $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)); ?> |
Output:
int(3) int(2) int(1)
Reference: https://www.php.net/manual/en/splobjectstorage.detach.php



