在PHP中突然遇到这个问题:
<?php
class MyClass{};
$a=new MyClass();
$b="MyClass";
var_dump($a instanceof $b);
结果:
bool(true)
为什么这是真的?
答案 0 :(得分:7)
检查the documentation, example 5 :(强调我的)
尽管instanceof通常与文字类名一起使用,但它可以 也可以与其他对象一起使用或字符串变量:
$a = new MyClass;
var_dump($a instanceof $c); // $c is a string 'MyClass'
结果:
bool(true)
答案 1 :(得分:2)
尽管instanceof通常与文字类名一起使用,但它也可以与另一个对象或字符串变量一起使用
答案 2 :(得分:2)
instanceof
运算符可以使用类,但也可以使用类名作为字符串。
尽管instanceof通常与文字类名一起使用,但它也可以与另一个对象或字符串变量一起使用
http://php.net/manual/en/language.operators.type.php
并且有你发布的确切示例,所以我不知道你的来自哪里,但是......