SplObjectStorage::removeAllExcept

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

SplObjectStorage::removeAllExceptRemove todos os objetos, exceto aqueles contidos em outro armazenamento, do armazenamento atual

Descrição

public SplObjectStorage::removeAllExcept(SplObjectStorage $storage): int

Remove todos os objetos, exceto aqueles contidos em outro armazenamento, do armazenamento atual.

Parâmetros

storage

O armazenamento contendo os elementos a serem retidos no armazenamento atual.

Valor Retornado

Retorna o número de objetos restantes.

Exemplos

Example #1 Exemplo de SplObjectStorage::removeAllExcept()

<?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));
?>

O exemplo acima produzirá algo semelhante a:

bool(false)
bool(true)