Giới thiệu
PHP có một toán tử so sánh == bằng cách sử dụng một phép so sánh đơn giản của hai biến đối tượng có thể được thực hiện. Nó trả về true nếu cả hai đều thuộc cùng một lớp và giá trị của các thuộc tính tương ứng là như nhau.
=== của PHP toán tử so sánh hai biến đối tượng và trả về true nếu và chỉ khi chúng tham chiếu đến cùng một phiên bản của cùng một lớp
Chúng tôi sử dụng hai lớp sau để so sánh các đối tượng với các trình hiển thị này
Ví dụ
<?php class test1{ private $x; private $y; function __construct($arg1, $arg2){ $this->x=$arg1; $this->y=$arg2; } } class test2{ private $x; private $y; function __construct($arg1, $arg2){ $this->x=$arg1; $this->y=$arg2; } } ?>
hai đối tượng cùng lớp
Ví dụ
$a=new test1(10,20); $b=new test1(10,20); echo "two objects of same class\n"; echo "using == operator : "; var_dump($a==$b); echo "using === operator : "; var_dump($a===$b);
Đầu ra
two objects of same class using == operator : bool(true) using === operator : bool(false)
hai tham chiếu của cùng một đối tượng
Ví dụ
$a=new test1(10,20); $c=$a; echo "two references of same object\n"; echo "using == operator : "; var_dump($a==$c); echo "using === operator : "; var_dump($a===$c);
Đầu ra
two references of same object using == operator : bool(true) using === operator : bool(true)
hai đối tượng thuộc các lớp khác nhau
Ví dụ
$a=new test1(10,20); $d=new test2(10,20); echo "two objects of different classes\n"; echo "using == operator : "; var_dump($a==$d); echo "using === operator : "; var_dump($a===$d);
Đầu ra
Đầu ra hiển thị kết quả sau
two objects of different classes using == operator : bool(false) using === operator : bool(false)