SplObjectStorage::removeAllExcept

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

SplObjectStorage::removeAllExcept Удаляет из текущего контейнера все объекты, которых нет в другом контейнере

Описание

publicSplObjectStorage::removeAllExcept(SplObjectStorage$storage): int

Удаляет из текущего контейнера все объекты, которых нет в другом контейнере.

Список параметров

storage

Контейнер, содержащий элементы, которые должны остаться в текущем контейнере.

Возвращаемые значения

Возвращает количество оставшихся объектов.

Примеры

Пример #1 Пример использования 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));
?>

Вывод приведённого примера будет похож на:

bool(false) bool(true)
To Top