Как сравнить два объекта разных экземпляров класса в php?

Пользователь

от gussie.jones , в категории: PHP , 7 месяцев назад

Как сравнить два объекта разных экземпляров класса в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от roxanne.hauck , 7 месяцев назад

@gussie.jones 

Для сравнения двух объектов разных экземпляров класса в PHP можно использовать оператор сравнения == или ===.


Оператор == сравнивает значения объектов и возвращает true, если значения равны, а оператор === сравнивает тип и значение объектов и возвращает true, только если оба равны.


Если необходимо сравнить конкретные свойства объектов, можно обращаться к ним через их имена и использовать операторы сравнения (<, >, <=, >=), как сравнивать обычные переменные. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class MyClass {
  public $property1;
  public $property2;
}

$obj1 = new MyClass();
$obj1->property1 = "value1";
$obj1->property2 = "value2";

$obj2 = new MyClass();
$obj2->property1 = "value1";
$obj2->property2 = "value2";

if ($obj1 == $obj2) {
  echo "Объекты равны";
} else {
  echo "Объекты не равны";
}

if ($obj1 === $obj2) {
  echo "Объекты идентичны";
} else {
  echo "Объекты не идентичны";
}

if ($obj1->property1 == $obj2->property1) {
  echo "Свойства property1 равны";
} else {
  echo "Свойства property1 не равны";
}


В этом примере операторы == и === используются для сравнения объектов, а оператор == используется для сравнения свойства property1 объектов.