# forward_static_call_array

(PHP 5 >= 5.3.0, PHP 7)

forward_static_call_array — Call a static method and pass the arguments as array

### 说明

forward_static_call_array ( callable `$function` , array `$parameters` ) : mixed

Calls a user defined function or method given by the `function` parameter. This function must be called within a method context, it can't be used outside a class. It uses the late static binding. All arguments of the forwarded method are passed as values, and as an array, similarly to call_user_func_array().

### 参数

`function`

  The function or method to be called. This parameter may be an array, with the name of the class, and the method, or a string, with a function name.

`parameter`

  One parameter, gathering all the method parameter in one array.

  > Note:

  > Note that the parameters for forward_static_call_array() are not passed by reference.

### 返回值

Returns the function result, or `FALSE` on error.

### 范例

Example #1 forward_static_call_array() example

    <?php

    class A
    {
        const NAME = 'A';
        public static function test() {
            $args = func_get_args();
            echo static::NAME, " ".join(',', $args)." \n";
        }
    }

    class B extends A
    {
        const NAME = 'B';

        public static function test() {
            echo self::NAME, "\n";
            forward_static_call_array(array('A', 'test'), array('more', 'args'));
            forward_static_call_array( 'test', array('other', 'args'));
        }
    }

    B::test('foo');

    function test() {
            $args = func_get_args();
            echo "C ".join(',', $args)." \n";
        }

    ?>

以上例程会输出：

    B
    B more,args
    C other,args

### 参见

- forward_static_call() - Call a static method
- call_user_func() - 把第一个参数作为回调函数调用
- call_user_func_array() - 调用回调函数，并把一个数组参数作为回调函数的参数
- is_callable() - 检测参数是否为合法的可调用结构
- callback 类型的信息