こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、14年目エンジニアです。
この記事では、 PHPで特定のクラスのインスタンスかどうかを判定できるinstanceof演算子について
- instanceof演算子とは
- instanceof演算子を使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
| OS | Windows11 |
|---|---|
| PHPのバージョン | 8.2.4 |
| XAMPPのバージョン | 8.2.4 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
instanceof演算子とは
instanceof演算子とは、演算子の左辺の変数が右辺のクラスのインスタンスかどうかを判定し結果をboolで返す関数です。
指定したクラスであればtrue、でなければfalseを返します。
instanceof演算子の書き方は下記です。
|
1 |
【変数】 instanceof 【クラス名】 |
使い方サンプルは以下になります。
|
1 2 |
$sample = new DateTime(); $result = ($sample instanceof DateTime); |
上記の例だと、変数sampleはDateTimeクラスのインスタンスかどうかを判定しています。
変数sampleはDateTimeクラスのインスタンスなので、変数resultには「true」が返されます。
では、次の章で実際に使ってみます。
instanceof演算子を解説するプログラムの概要
instanceof演算子を解説するプログラムでは判定の結果インスタンスが
- 一致する場合
- 一致しない場合
の2パターンでinstanceof演算子で判定し、結果を表示させます。
phpプログラムは
C:\xampp\htdocs
配下に、【sample.php】というファイル名で格納しています。

PHPサンプルプログラム
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php class Dog { } class Cat { } print('■instanceof演算子サンプル<br >'); $dog = new Dog(); print('・一致する場合<br >'); if ($dog instanceof Dog) { print('Dogクラスのインスタンスです<br >'); } else { print('Dogクラスのインスタンスではないです<br >'); } print('・一致しない場合<br >'); if ($dog instanceof Cat) { print('Catクラスのインスタンスです<br >'); } else { print('Catクラスのインスタンスではないです<br >'); } ?> |
実行結果
XAMPPを起動して、【http://localhost/sample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。

左辺の変数が右辺のインスタンスかどうかが確認できました!
まとめ:instanceof演算子を使ってみよう!
以上がPHPのinstanceof演算子についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント