ホームページ >バックエンド開発 >PHPチュートリアル >PHP でオブジェクトがクラスに属しているかどうかを判断するにはどうすればよいですか?

PHP でオブジェクトがクラスに属しているかどうかを判断するにはどうすればよいですか?

WBOY
WBOYオリジナル
2021-10-26 17:00:034480ブラウズ

前回の記事では、PHPの抽象クラスと抽象メソッドに関する知識を詳しく紹介した「PHPの抽象クラスと抽象メソッドを理解する必要がある」をお届けしました。この記事では、PHP でオブジェクトがクラスに属しているかどうかを判断する方法について説明します。

PHP でオブジェクトがクラスに属しているかどうかを判断するにはどうすればよいですか?

PHP では、オブジェクトがクラスに属しているかどうかを判断したい場合、instanceof を渡し、instanceof を使用する必要があります。 オブジェクトがクラスのインスタンスであるか、クラスのサブクラスであるか、または特定のインターフェイスを実装しているかを判断し、対応する操作を実行するためのキーワード。オブジェクトが特定のクラスに属しているかどうかを判断するために使用できます。その構文形式は次のとおりです:

对象名 instanceof 类名;

オブジェクトが特定のクラスに属しているかどうかを判断する

オブジェクトが特定のクラスに属しているかどうかを確認したい場合は、instanceof キーワードを使用します。構文形式に従って、オブジェクトがこのクラスに属している場合は true を返し、属さない場合は true を返します。このクラスでは false が返されます。

次に、オブジェクトが特定のクラスに属しているかどうかを確認する例を見てみましょう。例は以下のとおりです。

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

出力結果:

PHP でオブジェクトがクラスに属しているかどうかを判断するにはどうすればよいですか?

上記の結果から、検出された物体が属することがわかります。結果はtrueですが、検出されたオブジェクトはstudy1クラスに属していないため、falseが返されます。したがって、instanceof を使用して、オブジェクトが特定のクラスに属しているかどうかを判断できます。

オブジェクトが特定の親クラスのサブクラスに属しているかどうかを判断する

上記のケースを通じて、オブジェクトが特定の親クラスのサブクラスに属しているかどうかを判断できました。クラスに属している それだけでなく、instanceof を使用して、オブジェクトが特定の親クラスのサブクラスを継承しているかどうかを判断することもできます。同様に、検出されたオブジェクトがこの親クラスのサブクラスに属している場合、返される結果は true です。検出されたオブジェクト オブジェクトがこの親クラスのサブクラスに属していない場合、返される結果は false です。

次に例を見てみましょう。例は次のとおりです:

<?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 でオブジェクトがクラスに属しているかどうかを判断するにはどうすればよいですか?

By 上記の結果から、instanceof を使用して、オブジェクトが特定の親クラスから継承されたサブクラスであるかどうかを判断することもできることがわかります。

オブジェクトがインターフェイス オブジェクトに属しているかどうかを判断する

instanceof を使用して、変数がインターフェイスを実装しているかどうかを判断することもできます。オブジェクトは同上 出力結果が true の場合はオブジェクトがこのインターフェースに属していることを意味し、出力結果が false の場合はオブジェクトがこのインターフェースに属していないことを意味します。

例を見てみましょう。例は次のとおりです:

<?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 でオブジェクトがクラスに属しているかどうかを判断するにはどうすればよいですか?

As can上記の例からわかるように、監視対象の変数はオブジェクトではなく、システムはエラーを報告しませんが、false を返します。

ご興味がございましたら、「PHP ビデオ チュートリアル 」をクリックして、PHP の知識をさらにご覧ください。

以上がPHP でオブジェクトがクラスに属しているかどうかを判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。