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

时间:2016-01-18 11:18:32

标签: php

当我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);时 我希望它返回true,但它返回false

我在这里想念一下吗?

1 个答案:

答案 0 :(得分:2)

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

namespace Foo;

$bar instanceof DateTime;  // means Foo\DateTime

use DateTime或明确引用全局\DateTime类。