class_implements

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

&reftitle.description; ``array``false```class_implements` ``object``string```object_or_class` `bool` `autoload`&true;

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

&reftitle.parameters;

`object_or_class`

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

`autoload`

- Whether to autoload if not already loaded.

&reftitle.returnvalues;

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

&reftitle.examples;

### `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));

    ?>

&example.outputs.similar;

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

&reftitle.notes;

To check that an object implements an interface, &instanceof; or the `is_a` function should be used instead.

&reftitle.seealso;

- `class_parents`
- `get_declared_interfaces`
- `is_a`
- &instanceof;