PHP检查DateTime的实例?

Nik*_*s R 48 php class instanceof instance isinstance

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

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

这对我来说似乎有点沉重.

fir*_*ire 131

你可以试试instanceofDocs ......

if ($var instanceof DateTime) {
  // true
}
Run Code Online (Sandbox Code Playgroud)

另见is_a文档:

if (is_a($var, 'DateTime')) {
  // true
}
Run Code Online (Sandbox Code Playgroud)

  • 伙计,我没有找到任何与谷歌有关的东西..:/谢谢! (6认同)
  • 谢谢你,兄弟!几个小时的头痛都没了! (2认同)

Dis*_*dev 8

if ($var instanceof DateTime)


小智 7

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

<?php

    $a = new DateTime();
    if (get_class($a) == 'DateTime') {
        echo "Datetime";
    }
Run Code Online (Sandbox Code Playgroud)

  • @redolent如果您正在使用Symfony或其他使用命名空间的框架,您可能需要在文件顶部声明`use\DateTime`以使其在根命名空间(而不是您的应用程序命名空间)中查找`DateTime`. (4认同)

rko*_*egi 5

那个例子怎么样?