Computer >> Máy Tính >  >> Lập trình >> PHP

Đối tượng so sánh PHP

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)