Atenção |
Este módulo é EXPERIMENTAL. Isso quer dizer que o comportamento neste módulo --- incluindo suas funções e seus nomes, e TUDO mais que está documentado sobre esse módulo --- poderá mudar em futuras versões do PHP, SEM QUALQUER NOTIFICAÇÃO. Esteja avisado, e use este módulo por sua própria conta e risco. |
No PHP 5, a comparação de objetos é uma pouco mais complicada que no PHP 4 e mais de acordo do que se espera de uma Linguagem Orientada a Objetos (mesmo que o PHP 5 não o seja).
Quando utilizando o operador igualdade (==), variáveis de objeto são comparados de maneira direta: Duas instâncias de objetos são iguais se eles tem os mesmos atributos e valores, e se instâncias da mesma classe.
Mas de outra forma, quando utilizando o operador idêntico (===), variáveis objetos são idênticas somente se elas se referem à mesma instância da mesma classe.
Um exemplo irá clarear essas regras.
Duas instâncias da mesma classe o1 == o2 : TRUE o1 != o2 : FALSE o1 === o2 : FALSE o1 !== o2 : TRUE Duas referências da mesma instância o1 == o2 : TRUE o1 != o2 : FALSE o1 === o2 : TRUE o1 !== o2 : FALSE Instâncias de duas classes diferentes o1 == o2 : FALSE o1 != o2 : TRUE o1 === o2 : FALSE o1 !== o2 : TRUE |