php の is_a() 関数
is_a() 関数は、オブジェクトがクラスのものかを判定する。
型演算子 "instanceof" でも同じ判定ができる。
is_a()の例
class Test {} $obj = new Test(); var_dump(is_a($obj, 'Test'));
instanceofの例
class Test {} $obj = new Test(); var_dump($obj instanceof TestClass);
ところでこの関数、一度非推奨とされていたものの、その後再び非推奨ではなくなったようだ。
更新履歴がややこしい内容だったので、最初読んだときに混乱してしまった。
バージョン 説明
5.3.9 パラメータ allow_string が追加されました。
5.3.0 この関数は非推奨ではなくなりました。そのため E_STRICT も発生しなくなりました。
5.0.0 この関数は非推奨となり、かわりに instanceof 演算子の使用が推奨されるようになりました。この関数をコールすると E_STRICT が発生します。
https://php.net/is_a