You can call:
$storage->removeAll($storage);
To remove all elements.
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SplObjectStorage::removeAll — Removes objects contained in another storage from the current storage
Removes objects contained in another storage from the current storage.
storage
The storage containing the elements to remove.
Returns the number of remaining objects.
Example #1 SplObjectStorage::removeAll() example
<?php
$o1 = new stdClass;
$o2 = new stdClass;
$a = new SplObjectStorage();
$a[$o1] = "foo";
$b = new SplObjectStorage();
$b[$o1] = "bar";
$b[$o2] = "gee";
var_dump(count($b));
$b->removeAll($a);
var_dump(count($b));
?>
The above example will output something similar to:
int(2) int(1)
You can call:
$storage->removeAll($storage);
To remove all elements.