这是检查对象是否是一个类的实例,在我的DateTime类的情况下,唯一的办法?PHP检查日期时间的实例?
$cls = ReflectionClass("DateTime");
if (! $cls->isInstance((object) $var)) {
// is not an instance
}
这对我来说似乎有点沉重。
这是检查对象是否是一个类的实例,在我的DateTime类的情况下,唯一的办法?PHP检查日期时间的实例?
$cls = ReflectionClass("DateTime");
if (! $cls->isInstance((object) $var)) {
// is not an instance
}
这对我来说似乎有点沉重。
你可以尝试instanceof
Docs ...
if ($var instanceof DateTime) {
// true
}
也is_a
Docs请参见:
if (is_a($var, 'DateTime')) {
// true
}
男人,我没没有找到与谷歌有关的任何内容..:/谢谢! – 2012-03-05 15:06:28
谢谢你的人!几小时的头痛消失了! – 2015-05-10 06:09:22
if ($var instanceof DateTime)
可以使用get_class函数是这样的:
<?php
$a = new DateTime();
if (get_class($a) == 'DateTime') {
echo "Datetime";
}
出于某种原因,这一块的工作,和其他的没有。 – redolent 2014-05-05 22:45:29
@redolent如果您使用Symfony或其他使用名称空间的框架,则可能需要在文件顶部声明'use \ DateTime',以使其在根名称空间(而不是您的应用程序的名称空间)中查找“DateTime” 。 – 2014-07-21 21:50:15
看得那么清楚:如何知道什么类的对象实例? (PHP5)(http://stackoverflow.com/questions/1928491/how-to-know-what-class-is-an-object-instance-of-php5)(不是一个真正的副本) – hakre 2012-03-05 15:48:55