SplObjectStorage
在线手册:中文 英文
PHP手册

SplObjectStorage::removeAllExcept

(PHP 5 >= 5.3.6)

SplObjectStorage::removeAllExceptRemoves all objects except for those contained in another storage from the current storage

说明

public void SplObjectStorage::removeAllExcept ( SplObjectStorage $storage )

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

参数

storage

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

返回值

没有返回值。

范例

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

以上例程的输出类似于:

bool(false)
bool(true)


SplObjectStorage
在线手册:中文 英文
PHP手册
PHP手册 - N: Removes all objects except for those contained in another storage from the current storage

用户评论:

kirk at wa dot net dot ua (21-Jun-2011 10:12)

You may remove all elements by passing empty SplObjectStorage

$splStorage->removeAllExcept(new SplObjectStorage());