326 of 410 menu

関数 is_subclass_of

関数 is_subclass_of は、オブジェクトまたはクラスが指定されたクラスの子孫に属するか、または指定されたインターフェースを実装しているかをチェックします。最初のパラメータはオブジェクトまたはクラス名を受け取り、2番目のパラメータは親クラスまたはインターフェースの名前を受け取ります。3番目のオプションパラメータは、クラスのオートローディングを考慮するかどうかを決定します。

構文

is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool

シンプルなクラスの継承をチェックしてみましょう:

<?php class ParentClass {} class ChildClass extends ParentClass {} $res = is_subclass_of('ChildClass', 'ParentClass'); var_dump($res); ?>

コードの実行結果:

true

インターフェースの実装をチェックしてみましょう:

<?php interface MyInterface {} class MyClass implements MyInterface {} $res = is_subclass_of('MyClass', 'MyInterface'); var_dump($res); ?>

コードの実行結果:

true

クラス名の代わりにオブジェクトを用いたチェック:

<?php class Animal {} class Dog extends Animal {} $dog = new Dog(); $res = is_subclass_of($dog, 'Animal'); var_dump($res); ?>

コードの実行結果:

true

クラスが子孫でない場合のチェック:

<?php class A {} class B {} $res = is_subclass_of('B', 'A'); var_dump($res); ?>

コードの実行結果:

false

関連項目

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否