-
基本的な使用法:
if ($obj instanceof MyClass) { // $objはMyClassのインスタンスです } else { // $objはMyClassのインスタンスではありません }
-
インターフェースの確認:
interface MyInterface { // ... } class MyClass implements MyInterface { // ... } $obj = new MyClass(); if ($obj instanceof MyInterface) { // $objはMyInterfaceを実装したクラスのインスタンスです } else { // $objはMyInterfaceを実装したクラスのインスタンスではありません }
-
親クラスの確認:
class ParentClass { // ... } class ChildClass extends ParentClass { // ... } $obj = new ChildClass(); if ($obj instanceof ParentClass) { // $objはParentClassのサブクラスのインスタンスです } else { // $objはParentClassのサブクラスのインスタンスではありません }
-
複数のクラスの確認:
class ClassA { // ... } class ClassB { // ... } $obj = new ClassA(); if ($obj instanceof ClassA || $obj instanceof ClassB) { // $objはClassAまたはClassBのインスタンスです } else { // $objはClassAまたはClassBのインスタンスではありません }
instanceof演算子を使うことで、プログラム内で特定のクラスやインターフェースを持つオブジェクトを正確に識別することができます。この演算子は、条件分岐やポリモーフィズムの実装など、オブジェクト指向プログラミングのさまざまな場面で役立ちます。
以上が、PHPのinstanceof演算子の使用方法と例です。これらのコード例を参考にして、自身のプロジェクトで適切に利用することができるでしょう。