# class_implements

(PHP 5, PHP 7)

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

### Description

class_implements ( mixed `$class` [, bool `$autoload` = `TRUE` ] ) : array

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

### Parameters

`class`

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

`autoload`

  Whether to allow this function to load the class automatically through the __autoload() magic method.

### Return Values

An array on success, or `FALSE` on error.

### Changelog

Version | Description
--- | ---
5.1.0 | Added the option to pass the `class` parameter as a string. Added the `autoload` parameter.

### Examples

Example #1 class_implements() example

`<?php
interface foo { }
class bar implements foo {}
print_r(class_implements(new bar));
// since PHP 5.1.0 you may also specify the parameter as a string
print_r(class_implements('bar'));
function __autoload($class_name) {
require_once $class_name . '.php';
}
// use __autoload 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
    (
        [interface_of_not_loaded] => interface_of_not_loaded
    )

### See Also

- class_parents() - Return the parent classes of the given class
- get_declared_interfaces() - Returns an array of all declared interfaces