SplObjectStorage::removeAll
SplObjectStorage::rewind
SplObjectStorage
PHP Manual

# SplObjectStorage::removeAllExcept

(PHP 5 >= 5.3.6)

SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage

### Description

public void SplObjectStorage::removeAllExcept ( SplObjectStorage `$storage` )

Removes all objects except for those contained in another storage from the current storage.

### Parameters

`storage`

  The storage containing the elements to retain in the current storage.

### Return Values

No value is returned.

### Examples

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)

SplObjectStorage::removeAll
SplObjectStorage::rewind
SplObjectStorage
PHP Manual