53

在我的 DateTime 类的情况下,这是检查对象是否是类的实例的唯一方法吗?

$cls = ReflectionClass("DateTime");
if (! $cls->isInstance( (object) $var ) ) {
    // is not an instance
}

对我来说似乎有点沉重。

4

4 回答 4

152

你可以试试instanceof文档...

if ($var instanceof DateTime) {
  // true
}

另请参阅is_a文档

if (is_a($var, 'DateTime')) {
  // true
}
于 2012-03-05T15:03:46.580 回答
10

if ($var instanceof DateTime)

于 2012-03-05T15:03:49.620 回答
7

您可以像这样使用 get_class 函数:

<?php

    $a = new DateTime();
    if (get_class($a) == 'DateTime') {
        echo "Datetime";
    }
于 2012-03-05T15:08:12.267 回答
5

实例化

于 2012-03-05T15:06:41.697 回答