-3

突然在 PHP 中遇到了这个问题:

<?php
  class MyClass{}; 
  $a=new MyClass(); 
  $b="MyClass"; 
  var_dump($a instanceof $b);

结果:

bool(true)

为什么这是真的?

4

3 回答 3

7

检查文档,示例 5:(强调我的)

尽管 instanceof 通常与文字类名一起使用,但它也可以与另一个对象或字符串变量一起使用:

$a = new MyClass;
var_dump($a instanceof $c); // $c is a string 'MyClass'

结果:

bool(true)
于 2012-10-23T13:54:25.417 回答
2

尽管 instanceof 通常与文字类名一起使用,但它也可以与另一个对象或字符串变量一起使用

http://php.net/instanceof

于 2012-10-23T13:55:22.367 回答
2

运算符可以使用instanceof类,也可以使用类名作为字符串。

尽管 instanceof 通常与文字类名一起使用,但它也可以与另一个对象或字符串变量一起使用

http://php.net/manual/en/language.operators.type.php

还有你发布的确切例子,所以我不知道你的来自哪里,但是......

于 2012-10-23T13:55:32.510 回答