国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

PHP基礎之類和對象18——對象比較

瀏覽:8日期:2022-09-14 18:54:41

PHP 5 中的對象比較要比 PHP 4 中復雜,所期望的結果更符合一個面向對象語言。

當使用比較運算符(==)比較兩個對象變量時,比較的原則是:如果兩個對象的屬性和屬性值 都相等,而且兩個對象是同一個類的實例,那么這兩個對象變量相等。

而如果使用全等運算符(===),這兩個對象變量一定要指向某個類的同一個實例(即同一個對象)。

通過下面的示例可以理解以上原則。

Example #1 PHP 5 的對象比較

<?phpfunction 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();echo 'Two instances of the same classn';compareObjects($o, $p);echo 'nTwo references to the same instancen';compareObjects($o, $q);echo 'nInstances of two different classesn';compareObjects($o, $r);?>

以上例程會輸出:

Two instances of the same classo1 == o2 : TRUEo1 != o2 : FALSEo1 === o2 : FALSEo1 !== o2 : TRUETwo references to the same instanceo1 == o2 : TRUEo1 != o2 : FALSEo1 === o2 : TRUEo1 !== o2 : FALSEInstances of two different classeso1 == o2 : FALSEo1 != o2 : TRUEo1 === o2 : FALSEo1 !== o2 : TRUE

Note:

PHP 擴展中可以自行定義對象比較的原則。

標簽: PHP
相關文章:
主站蜘蛛池模板: 滦平县| 阿坝| 天峻县| 逊克县| 泗洪县| 米易县| 岳池县| 井冈山市| 宣城市| 高清| 夏津县| 青川县| 虞城县| 庆阳市| 白山市| 泰和县| 莱州市| 黑河市| 涿州市| 林西县| 静海县| 大宁县| 博乐市| 儋州市| 梅河口市| 平江县| 波密县| 邵阳县| 莆田市| 连南| 宣城市| 泗洪县| 云南省| 宁强县| 西安市| 宁城县| 工布江达县| 涿州市| 永寿县| 武宁县| 博客|