PHP проверяет, например, дату и время?


Это единственный способ проверить, является ли объект экземпляром класса, в моем случае класса DateTime?

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

Мне это кажется немного тяжелым.

Author: Niklas R, 2012-03-05

4 answers

Вы могли бы попробовать instanceof Документы...

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

См. также is_a Документы:

if (is_a($var, 'DateTime')) {
  // true
}
 119
Author: fire, 2014-04-14 06:32:57

if ($var instanceof DateTime)

 8
Author: Distdev, 2012-03-05 15:03:49

Вы можете использовать функцию get_class следующим образом:

<?php

    $a = new DateTime();
    if (get_class($a) == 'DateTime') {
        echo "Datetime";
    }
 7
Author: botzko, 2012-03-05 15:08:12

Как насчет экземпляра

 5
Author: rkosegi, 2012-03-05 15:06:41