array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.class-parents.php', 1 => 'class_parents', ), 'up' => array ( 0 => 'ref.spl.php', 1 => 'SPL 函数', ), 'prev' => array ( 0 => 'function.class-implements.php', 1 => 'class_implements', ), 'next' => array ( 0 => 'function.class-uses.php', 1 => 'class_uses', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'zh', 'path' => 'reference/spl/functions/class-parents.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
class_parents — 返回指定类的父类
本函数返回包含了指定 object_or_class
父类名的数组。
成功时为数组,当指定类不存在则为 false
。
示例 #1 class_parents() 示例
<?php
class foo { }
class bar extends foo {}
print_r(class_parents(new bar));
// 可以指定参数为字符串
print_r(class_parents('bar'));
spl_autoload_register();
// 使用自动加载去加载“not_loaded”类
print_r(class_parents('not_loaded', true));
?>
以上示例的输出类似于:
Array ( [foo] => foo ) Array ( [foo] => foo ) Array ( [parent_of_not_loaded] => parent_of_not_loaded )
注意: 检测对象是否 implements interface,应该使用
instanceof
或 is_a() 函数。