SplObjectStorage::removeAllExcept

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

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

Açıklama

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

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

Bağımsız Değişkenler

storage

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

Dönen Değerler

Returns the number of remaining objects.

Örnekler

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

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)

add a note

User Contributed Notes 2 notes

up
0
hizer at hizercache dot com
8 years ago
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.
up
0
kirk at wa dot net dot ua
13 years ago
You may remove all elements by passing empty SplObjectStorage

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