is_a

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_aПроверяет, принадлежит ли объект к типу или подтипу

Описание

is_a(mixed $object_or_class, string $class, bool $allow_string = false): bool

Функция определяет, принадлежит ли объект или класс object_or_class непосредственно к типу объекта class, или тип объекта class — супертип объекта или класса, который проверяют.

Список параметров

object_or_class

Имя класса или экземпляр объекта.

class

Имя класса или интерфейса.

allow_string

Если для параметра установлено значение false, то функция определит принадлежность типа объекта, который проверяют, к типу или подтипу класса, только если в параметр object_or_class передадут экземпляр объекта, а не имя класса. Это также предотвратит вызов автозагрузчика, если класс не найден.

Возвращаемые значения

Функция возвращает true, если объект object_or_class принадлежит к типу объекта class, или тип объекта class — супертип объекта, который проверяют, иначе false.

Примеры

Пример #1 Пример использования функции is_a()

<?php

// Объявляем класс
class WidgetFactory
{
var
$oink = 'moo';
}

// Создаём новый объект
$WF = new WidgetFactory();

if (
is_a($WF, 'WidgetFactory')) {
echo
"Да, \$WF всё ещё WidgetFactory\n";
}

?>

Пример #2 Использование оператора instanceof

<?php

if ($WF instanceof WidgetFactory) {
echo
'Да, $WF — WidgetFactory';
}

?>

Смотрите также

  • get_class() - Возвращает имя класса, которому принадлежит объект
  • get_parent_class() - Получает имя родительского класса для объекта или класса
  • is_subclass_of() - Проверяет, принадлежит ли объект к потомкам класса, или реализует ли объект или родители объекта интерфейс