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.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.
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);
// trueSegue o link da documentação:
https://www.php.net/manual/pt_BR/language.oop5.object-comparison.php