略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: SplObjectStorage::removeAllExcept

2024-12-22

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

说明

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

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.

返回值

Returns the number of remaining objects.

范例

示例 #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)
add a noteadd a note

User Contributed Notes 2 notes

up
0
kirk at wa dot net dot ua
11 years ago
You may remove all elements by passing empty SplObjectStorage

$splStorage->removeAllExcept(new SplObjectStorage());
up
-1
hizer at hizercache dot com
6 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.

官方地址:https://www.php.net/manual/en/splobjectstorage.removeallexcept.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3