您可以调用
$storage->removeAll($storage);
以移除所有元素。
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SplObjectStorage::removeAll — 从当前存储中移除另一个存储中包含的对象
storage
包含要移除元素的存储。
返回剩余对象的数量。
示例 #1 SplObjectStorage::removeAll() 示例
<?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));
?>
上面的示例将输出类似以下内容
int(2) int(1)