(PHP 5 >= 5.3.6, PHP 7, PHP 8)
SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage
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.
Returns the number of remaining objects.
示例 #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));
?>
以上示例的输出类似于:
bool(false) bool(true)