SplObjectStorage::removeAllExcept

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

SplObjectStorage::removeAllExcept別のストレージに含まれているもの以外のすべてのオブジェクトを現在のストレージから取り除く

説明

public SplObjectStorage::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)

関連キーワード:  ストレージ, オブジェクト, SplObjectStorage, , removeAllExcept, storage, removeAll, rewind, public, int