php8.5
Home/ Manual/ spl / splobjectstorage/ SplObjectStorage::removeAllExcept

SplObjectStorage::removeAllExcept

PHP function Edit on GitHub ✎

(PHP 5 >= 5.3.6, PHP 7, PHP 8)

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

Description

SplObjectStorage::removeAllExcept(SplObjectStorage $storage): int

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

Returns the number of remaining objects.

Examples

SplObjectStorage::removeAllExcept() example

php
<?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:

output
bool(false)
bool(true)

Source: reference/spl/splobjectstorage/removeallexcept.xml · from the official PHP manual (php/doc-en)