Return the interfaces which are implemented by the given class or interface

# class_implements

(PHP 5, PHP 7, PHP 8)

class_implements — Return the interfaces which are implemented by the given class or interface

### Description

class_implements(object|string `$object_or_class`, bool `$autoload` = `true`): array|false

This function returns an array with the names of the interfaces that the given `object_or_class` and its parents implement.

### Parameters

`object_or_class`

  An object (class instance) or a string (class or interface name).

`autoload`

  Whether to autoload if not already loaded.

### Return Values

An array on success, or `false` when the given class doesn't exist.

### Examples

Example #1 class_implements() example

`<?php
interface foo { }
class bar implements foo {}
print_r(class_implements(new bar));
// you may also specify the parameter as a string
print_r(class_implements('bar'));
spl_autoload_register();
// use autoloading to load the 'not_loaded' class
print_r(class_implements('not_loaded', true));
?>`

The above example will output something similar to:

    Array
    (
        [foo] => foo
    )
    Array
    (
        [foo] => foo
    )
    Array
    (
        [interface_of_not_loaded] => interface_of_not_loaded
    )

### Notes

> Note: To check that an object implements an interface, `instanceof` or the is_a() function should be used instead.

### See Also

- class_parents() - Return the parent classes of the given class
- get_declared_interfaces() - Returns an array of all declared interfaces
- is_a() - Checks whether the object is of a given type or subtype
- `instanceof`

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open