1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

PHP对象比较的比较运算符(==)和全等运算符(===)

  当使用比较运算符(==)比较两个对象变量时,比较的原则是:如果两个对象的属性和属性值都相等,而且两个对象是同一个类的实例,那么这两个对象变量相等

  而如果使用全等运算符(===),这两个对象变量一定要指向某个类的同一个实例(即同一个对象)

<?php  function bool2str($bool)  {      if ($bool === false) {          return 'FALSE';      } else {          return 'TRUE';      }  }  function compareObjects(&$o1, &$o2)  {      echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n";      echo 'o1 != o2 : ' . bool2str($o1 != $o2) . "\n";      echo 'o1 === o2 : ' . bool2str($o1 === $o2) . "\n";      echo 'o1 !== o2 : ' . bool2str($o1 !== $o2) . "\n";  }  class Flag  {      public $flag;      function Flag($flag = true) {          $this->flag = $flag;      }  }  class OtherFlag  {      public $flag;      function OtherFlag($flag = true) {          $this->flag = $flag;      }  }    $o = new Flag();  $p = new Flag();  $q = $o;  $r = new OtherFlag();  /*  Two instances of the same class  o1 == o2 : TRUE  o1 != o2 : FALSE  o1 === o2 : FALSE  o1 !== o2 : TRUE   */  echo "Two instances of the same class\n";  compareObjects($o, $p);  /*  Two references to the same instance  o1 == o2 : TRUE  o1 != o2 : FALSE  o1 === o2 : TRUE  o1 !== o2 : FALSE   */  echo "\nTwo references to the same instance\n";  compareObjects($o, $q);  /*  Instances of two different classes  o1 == o2 : FALSE  o1 != o2 : TRUE  o1 === o2 : FALSE  o1 !== o2 : TRUE   */  echo "\nInstances of two different classes\n";  compareObjects($o, $r);  ?>

原文链接:https://www.qiquanji.com/post/7869.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

作者:xialibing 分类:网页教程 浏览: