例 18-2. PHP4における複合的なオブジェクトの比較 
<?php class FlagSet {     var $set;
      function FlagSet($flagArr = array()) {         $this->set = $flagArr;     }
      function addFlag($name, $flag) {         $this->set[$name] = $flag;     }
      function removeFlag($name) {         if (array_key_exists($name, $this->set)) {             unset($this->set[$name]);         }     } }
 
  $u = new FlagSet(); $u->addFlag('flag1', $o); $u->addFlag('flag2', $p); $v = new FlagSet(array('flag1'=>$q, 'flag2'=>$p)); $w = new FlagSet(array('flag1'=>$q));
  echo "\nComposite objects u(o,p) and v(q,p)\n"; compareObjects($u, $v);
  echo "\nu(o,p) and w(q)\n"; compareObjects($u, $w); ?>
 |  
 上の例の出力は以下となります。 Composite objects u(o,p) and v(q,p)
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE
u(o,p) and w(q)
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE  |  
  |