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