首頁  >  文章  >  後端開發  >  PHP中怎麼去判斷物件是否屬於一個類別?

PHP中怎麼去判斷物件是否屬於一個類別?

WBOY
WBOY原創
2021-10-26 17:00:034473瀏覽

在先前的文章中為大家帶來了《你必須了解PHP中什麼是抽象類別和抽象方法》,其中詳細介紹了PHP中的抽象類別和抽象方法相關知識,本篇我們來看看PHP怎麼去判斷物件是否屬於一個類,希望對大家有幫助!

PHP中怎麼去判斷物件是否屬於一個類別?

在PHP中想要去判斷物件是否屬於一個類別就需要透過 instanceof ,使用instanceof關鍵字可以確定一個物件是類別的實例、類別的子類,還是實作了某個特定接口,並進行相應的操作。這就可以用來判斷物件是否屬於某一類,它的語法格式如下:

对象名 instanceof 类名;

#判斷一個物件是否屬於某個類別

想要判斷一個物件是否屬於某個類,那就透過instanceof關鍵字,依照文法格式,如果該物件屬於這個類,它會回傳true;如果不屬於這一類,它會回傳flase。

接下來我們透過一個範例來看一下,一個物件是否屬於某個類別。範例如下:

<?php
    class study{
    }
    class study1{
    }
    $obj = new study;
    var_dump($obj instanceof study);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof study1);
?>

輸出結果:

PHP中怎麼去判斷物件是否屬於一個類別?

#由上述結果可以看出,被偵測的物件屬於study類,傳回的結果是true,被偵測的物件不屬於study1類,所以回傳了flase。因此透過instanceof能夠判斷一個物件是否屬於某個類別。

判斷一個物件是否屬於某個父類別的子類別

透過上述的案例我們已經能夠判斷一個物件是否屬於一個類別了,不僅如此,透過instanceof還能夠判斷一個物件是不是繼承自某個父類的子類,同理如果被偵測的物件屬於這個父類的子類的話,傳回的結果是true,如果被偵測的物件不屬於這個父類別的子類別的話,回傳的結果是flase。

接下來我們透過範例來看一下,範例如下:

<?php
    class study{
    }
    class study1 extends study{
    }
    $obj = new study1;
    var_dump($obj instanceof study);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof study1);
?>

輸出結果:

PHP中怎麼去判斷物件是否屬於一個類別?

由上述結果看出,透過instanceof也能夠判斷一個物件是不是繼承自某個父類別的子類別。

判斷一個物件是否屬於一個介面的物件

我們也可以透過instanceof 用來確定一個變數是不是實作了某個接口的對象,與上述中的情況同理,如果輸出結果為true,表示該對象屬於此接口,如果輸出結果為flase,表示該對像不屬於此接口。

我們透過範例來看一下,範例如下:

<?php
    interface study{
    }
    class study1 implements study{
    }
    $obj = new study1;
    var_dump($obj instanceof study);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof study1);
?>

輸出結果:

PHP中怎麼去判斷物件是否屬於一個類別?

#上述事例中,透過instanceof判斷了一個變數是不是某個介面的物件。

當判斷的對像不存在

我們還有一種情況需要注意的就是,如果被偵測的變數不是對象,那就回傳的結果有什麼改變嗎,會不會有什麼影響。 instanceof並不會報錯而是會直接回到flase。

我們透過範例看一下,範例如下:

<?php
    class study{
    }
    class study1{
    }
    $obj = new study;
    var_dump($obj instanceof test);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof demo);
?>

輸出結果:

PHP中怎麼去判斷物件是否屬於一個類別?

由上述範例看出,被監測的變數不是對象,系統並沒有報錯,而是回傳了flase。

大家如果有興趣的話,可以點選《PHP影片教學》進行更多關於PHP知識的學習。

以上是PHP中怎麼去判斷物件是否屬於一個類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn