PHP

PHP中call_user_func_array的用法

一直以为call_user_func_array函数只是单纯的利用自定义的方法回调处理数组,知道今天才发现还能调用类中的函数。用法如下:

class Test
{
    static public function demo($a, $b)
    {
        echo $a + $b;
    }
    public function show($a, $b)
    {
        echo $a + $b;
    }
}
// 调用类中的静态方法
   // 类名方法名以数据形式
call_user_func(['Test', 'demo'], 1, 2); // 3
call_user_func_array(['Test', 'demo'], [1, 2]); // 3
   // 类名方法名以字符串形式
call_user_func('Test::demo', 1, 2); // 3
call_user_func_array('Test::demo', [1, 2]); // 3

// 调用类中的动态方法,对象和方法必须通过数组形式传递
call_user_func([new Test, 'show'], 1, 2); // 3
call_user_func_array([new Test, 'show'], [1, 2]); // 3

1 条评论

  1. 头像

    这个不错耶,我喜欢!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关推荐