PHP检查DateTime的实例?

时间:2012-03-05 15:00:55

标签: php class instance instanceof isinstance

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

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

对我来说似乎有点沉重。

4 个答案:

答案 0 :(得分:127)

您可以尝试instanceof­Docs ...

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

另见is_a­Docs

if (is_a($var, 'DateTime')) {
  // true
}

答案 1 :(得分:8)

if ($var instanceof DateTime)

答案 2 :(得分:7)

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

<?php

    $a = new DateTime();
    if (get_class($a) == 'DateTime') {
        echo "Datetime";
    }

答案 3 :(得分:5)

instanceof

怎么样?