array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.is-a.php', 1 => 'is_a', ), 'up' => array ( 0 => 'ref.classobj.php', 1 => 'Функции работы с классами и объектами', ), 'prev' => array ( 0 => 'function.interface-exists.php', 1 => 'interface_exists', ), 'next' => array ( 0 => 'function.is-subclass-of.php', 1 => 'is_subclass_of', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/classobj/functions/is-a.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
is_a — Проверяет, принадлежит ли объект к типу или подтипу
Определяет, принадлежит ли объект или класс 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';
}
?>