(PHP 5 >= 5.3.0, PHP 7)
Examples:
SplObjectStorage as a set
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php // As an object set $s = new SplObjectStorage(); $o1 = new StdClass; $o2 = new StdClass; $o3 = new StdClass; $s ->attach( $o1 ); $s ->attach( $o2 ); var_dump( $s ->contains( $o1 )); var_dump( $s ->contains( $o2 )); var_dump( $s ->contains( $o3 )); $s ->detach( $o2 ); var_dump( $s ->contains( $o1 )); var_dump( $s ->contains( $o2 )); var_dump( $s ->contains( $o3 )); ?> |
The above example will output:
bool(true) bool(true) bool(false) bool(true) bool(false) bool(false)
SplObjectStorage as a map
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php // As a map from objects to data $s = new SplObjectStorage(); $o1 = new StdClass; $o2 = new StdClass; $o3 = new StdClass; $s [ $o1 ] = "data for object 1" ; $s [ $o2 ] = array (1,2,3); if (isset( $s [ $o2 ])) { var_dump( $s [ $o2 ]); } ?> |
The above example will output:
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }