| 
<?php
 error_reporting(E_ALL);
 
 require_once 'ReferenceCollection.php';
 
 $container = new ReferenceCollection();
 
 $var1 = "aaaa";
 $var2 = $var1;
 $var3 =& $var1;
 $var4 = "bbbb";
 
 $container->add($var1);
 
 echo "contains var1: " . $container->contains($var1) . "<br/>";
 echo "contains var2: " . $container->contains($var2) . "<br/>";
 echo "contains var3: " . $container->contains($var3) . "<br/>";
 echo "contains var4: " . $container->contains($var4) . "<br/>";
 
 // remove $var1
 $container->add($var2);
 $container->remove($var1);
 
 echo "contains var1: " . $container->contains($var1) . "<br/>";
 echo "contains var2: " . $container->contains($var2) . "<br/>";
 
 // play with object
 
 $obj1 = new stdClass();
 $obj1->foo = 'bar';
 $obj2 = $obj1;
 
 $obj3 = new stdClass();
 $obj3->foo = 'bar';
 
 $container->add($obj1);
 
 echo "contains obj1: " . $container->contains($obj1) . "<br/>";
 echo "contains obj2: " . $container->contains($obj2) . "<br/>";
 echo "contains obj3: " . $container->contains($obj3) . "<br/>";
 |