(DateTime 实例)在 DateTime 的实例上返回 false


(instanceof DateTime) returns false on a instance of DateTime

当我var_dump($value);时,我得到

class DateTime#737 (3) {
  public $date =>
  string(26) "2016-01-24 21:00:52.000000"
  public $timezone_type =>
  int(3)
  public $timezone =>
  string(15) "Europe/Brussels"
}

但是当我这样做时var_dump($value instanceof DateTime); 我希望它返回真,但它返回假

我在这里错过了什么吗?

这可能失败的唯一原因是源代码中的DateTime实际上并没有引用正确的DateTime类。如果您位于命名空间中,则可能会发生这种情况:

namespace Foo;
$bar instanceof DateTime;  // means Foo'DateTime

use DateTime或显式引用全局'DateTime类。