1
resposta

Comparação de Obejtos PHP

Existe uma maneira que se consiga comparar 2 objetos do mesmo tipo sem a necessidade da ter que realizar um if para atributo da classe em PHP?

Exemplo: $objetos->equals($objeto2);

Assumindo que os 2 objetos sejam da mesma classe.

1 resposta

Olá Luis,

O PHP permite uma comparação simples apenas com == e vai considerar os objetos iguais caso sejam instâncias da mesma classe e que os valores dos atributos sejam iguais.

class Carro {
  public $ano;
}

$c1 = new Carro();
$c2 = new Carro();

var_dump($c1 == $c2);
// true

$c1->ano = 2000;
$c2->ano = 2001;

var_dump($c1 == $c2);
// false

$c1->ano = 2020;
$c2->ano = 2020;

var_dump($c1 == $c2);
// true

Segue o link da documentação:

https://www.php.net/manual/pt_BR/language.oop5.object-comparison.php