生活随笔
收集整理的這篇文章主要介紹了
对象比较 ===三个等于号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
可能這是我博客里面最短的博文了。
有關===三個等于號的用法=。=。。
我在這個分類里只是記錄一下php中少見的東西,或者說是php中書上不是太過詳細介紹的東西。
那么我在這里直接引用php手冊里面的內容吧,很簡單:當使用比較運算符(==)比較兩個對象變量時,比較的原則是:如果兩個對象的屬性和屬性值 都相等,而且兩個對象是同一個類的實例,那么這兩個對象變量相等。
而如果使用全等運算符(===),這兩個對象變量一定要指向某個類的同一個實例(即同一個對象)。
繼續引用手冊的演示:
(這篇博文寫的實在沒有什么個人含量了。。。)
由于手冊寫的很詳細,所以我也不再畫蛇添足了,畢竟內容就是這一點而已。。。
通過下面的示例可以理解以上原則。Example #1 PHP 5 的對象比較
<?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();echo "Two instances of the same class\n";
compareObjects($o, $p);echo "\nTwo references to the same instance\n";
compareObjects($o, $q);echo "\nInstances of two different classes\n";
compareObjects($o, $r);
?>
以上例程會輸出:Two instances of the same class
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : FALSE
o1 !== o2 : TRUETwo references to the same instance
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSEInstances of two different classes
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE
總結
以上是生活随笔為你收集整理的对象比较 ===三个等于号的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。