SplObjectStorage::removeAllExcept

(PHP 5 >= 5.3.6, PHP 7)

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

Описание

public void SplObjectStorage::removeAllExcept ( SplObjectStorage $storage )

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

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

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)

Коментарии

You may remove all elements by passing empty SplObjectStorage

$splStorage->removeAllExcept(new SplObjectStorage());
2011-06-21 05:12:17
http://php5.kiev.ua/manual/ru/splobjectstorage.removeallexcept.html
The example Kirk provided is not the best option, there's a method "removeAll" that you can pass the SplObjectStore itself, and as the name says, remove all stored objects.
2016-02-06 05:56:10
http://php5.kiev.ua/manual/ru/splobjectstorage.removeallexcept.html

    Поддержать сайт на родительском проекте КГБ