(PHP 5 >= 5.3.6, PHP 7)
SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage
public SplObjectStorage::removeAllExcept ( SplObjectStorage $storage ) : void
Removes all objects except for those contained in another storage from the current storage.
storage
The storage containing the elements to retain in the current storage.
No value is returned.
Example #1 SplObjectStorage::removeAllExcept() example
<?php $a = (object) 'a'; $b = (object) 'b'; $c = (object) 'c'; $foo = new SplObjectStorage; $foo->attach($a); $foo->attach($b); $bar = new SplObjectStorage; $bar->attach($b); $bar->attach($c); $foo->removeAllExcept($bar); var_dump($foo->contains($a)); var_dump($foo->contains($b)); ?>
The above example will output something similar to:
bool(false) bool(true)
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/splobjectstorage.removeallexcept.php