PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのオブジェクトの比較


はじめに

PHPには比較演算子があります== これを使用して、2つのobjecs変数の単純なコマリソンを実行できます。両方が同じクラスに属し、対応するプロパティの値が同じである場合、trueを返します。

PHPの=== 演算子は2つのオブジェクト変数を比較し、それらが同じクラスの同じインスタンスを参照している場合にのみtrueを返します

オブジェクトとこれらの操作者との比較には、次の2つのクラスを使用します

<?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;
   }
}
?>

同じクラスの2つのオブジェクト

$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);

出力

two objects of same class
using == operator : bool(true)
using === operator : bool(false)

同じオブジェクトの2つの参照

$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);

出力

two references of same object
using == operator : bool(true)
using === operator : bool(true)

異なるクラスの2つのオブジェクト

$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);

出力

出力には次の結果が表示されます

two objects of different classes
using == operator : bool(false)
using === operator : bool(false)

  1. PHPのdoublenot(!!)演算子

    Double not演算子(!!)では、最初のnotは!は値を否定するために使用されますが、2番目は値を否定するために使用されます。再び否定します。 PHPでDoublenot演算子を実装するためのコードは、次のとおりです- 例 <?php    $str = "0.1";    echo "Value = $str";    $res = !!$str;    echo "\nDouble Negated Value = $res"; ?>

  2. PHPで2つの日付を比較する

    PHPで2つの日付を比較するためのコードは、次のとおりです。ここでは、等式演算子を使用して日付を比較しました- 例 <?php    $dateOne = "2019-10-30";    $dateTwo = "2019-10-30";    echo "Date1 = $dateOne";    echo "\nDate2 = $dateTwo";    if ($dateOne == $dateTwo)