En PHP 4, los objetos son comparados en una forma muy simple: Dos
instancias de objeto son iguales si tienen los mismos atributos y
valores, y son instancias de la misma clase. Reglas similares se
aplican cuando se comparan dos objetos usando el operador de
identidad (===).
Si ejecutáramos el código del siguiente ejemplo:
Ejemplo 18-1. Ejemplo de comparación de objetos en PHP 4
<?php function bool_a_cadena($bool) { if ($bool === false) { return 'FALSE'; } else { return 'TRUE'; } }
Incluso en los casos en donde tenemos composición de
objetos, se aplican las mismas reglas de comparación. En el
ejemplo siguiente creamos una clase contenedora que almacena una
matriz asociativa de objetos Bandera.
Ejemplo 18-2. Comparación de objetos compuestos en PHP 4
<?php class ConjuntoBanderas { var $conjunto;
function ConjuntoBanderas($matrizBanderas = array()) { $this->conjunto = $matrizBanderas; }
function agregarBandera($nombre, $bandera) { $this->conjunto[$nombre] = $bandera; }
function eliminarBandera($nombre) { if (array_key_exists($nombre, $this->conjunto)) { unset($this->conjunto[$nombre]); } } }
$u = new ConjuntoBanderas(); $u->agregarBandera('bandera1', $o); $u->agregarBandera('bandera2', $p); $v = new ConjuntoBanderas(array('bandera1'=>$q, 'bandera2'=>$p)); $w = new ConjuntoBanderas(array('bandera1'=>$q));
echo "\nObjetos compuestos u(o,p) y v(q,p)\n"; compararObjetos($u, $v);
echo "\nu(o,p) y w(q)\n"; compararObjetos($u, $w); ?>
Atención técnica y comercial: (54)-11-5031-1111 las 24 hs. los 365 días del año. ToWebs, (c) 2008
Virtucom Networks S.A Av. Belgrano 1586, piso 10 (C1093AAQ) Cap. Fed. Bs. As, Argentina.