PHP 5.5.37 is released

SplObjectStorage::removeAllExcept

(PHP 5 >= 5.3.6, PHP 7)

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

Descrizione

public void SplObjectStorage::removeAllExcept ( SplObjectStorage $storage )

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

Elenco dei parametri

storage

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

Valori restituiti

Nessun valore viene restituito.

Esempi

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

Il precedente esempio visualizzerĂ  qualcosa simile a:

bool(false)
bool(true)

add a note add a note

User Contributed Notes 2 notes

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

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