PHP等號(==)和全等(===)的區別

2020-07-16 10:05:09
在 PHP 中,可使用=====比較兩個物件,但是它們之間是有區別的:
  • ==比較兩個物件的內容是否相同,即是否具有相同的屬性和方法,相同就返回 bool(true),否則返回 bool(false)。
  • ===比較兩個物件是否為同一參照,是就返回 bool(true),否則返回 bool(false)。

範例程式碼如下:
class father{
    public $name = 'http://c.biancheng.net/php/';
    function test(){
        echo "test";
    }
}
$obj = new father();
$obj_2 = clone $obj;
$obj_3 = $obj;
var_dump(($obj==$obj_2), ($obj===$obj_2), ($obj===$obj_3));
執行以上程式的結果為:

bool(true)
bool(false)
bool(true)