Open In App

PHP SplObjectStorage removeAllExcept() Function

Last Updated : 23 Jun, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report
The SplObjectStorage::removeAllExcept() function is an inbuilt function in PHP which is used to remove all objects from storage except for those contains by another storage. Syntax:
int SplObjectStorage::removeAllExcept()
Parameters: This function accepts a single parameter $obj which specify object storage to be retain. Return Value: This function does not return any value. Below programs illustrate the SplObjectStorage::removeAllExcept() function in PHP: Program 1: php
<?php

$obj1 = new StdClass;
$obj2 = new StdClass;
$obj3 = new StdClass;

$gfg1 = new SplObjectStorage();
$gfg1[$obj1] = "Geeks";

$gfg2 = new SplObjectStorage();
$gfg2[$obj1] = "GFG";
$gfg2[$obj2] = "GeeksClasses";
$gfg2[$obj3] = "SUDO";

// Count all existing objects
var_dump(count($gfg2));

// Remove all objects of $gfg2 from $gfg2
$gfg2->removeAllExcept($gfg1);

// Print result after removeAll
var_dump(count($gfg2));
?>
Output:
int(3)
int(1)
Program 2: php
<?php

$obj1 = new StdClass;
$obj2 = new StdClass;

$gfg1 = new SplObjectStorage();
$gfg1[$obj1] = "Geeks";

$gfg2 = new SplObjectStorage();
$gfg2[$obj1] = "GFG";
$gfg2[$obj2] = "GeeksClasses";

// Count and print all existing objects
var_dump(count($gfg2));

// Remove all objects of $gfg1 from $gfg2
$gfg2->removeAllExcept($gfg1);

// Print result  
var_dump(count($gfg2));

// Result remains same
$gfg2->removeAllExcept($gfg2);

// Print result  
var_dump(count($gfg2));

?>
Output:
int(2)
int(1)
int(1)
Reference: https://www.php.net/manual/en/splobjectstorage.removeallexcept.php

Similar Reads