美文网首页
call_user_func_array用法

call_user_func_array用法

作者: sorry510 | 来源:发表于2020-04-10 14:39 被阅读0次

call_user_func_array函数的多种方式写法

  • function

$func = function($arg1, $arg2) {
    return $arg1 * $arg2;
};

var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.3.0 */
  • Class的实例
class foo {
    function bar($arg, $arg2) {
        echo __METHOD__, " got $arg and $arg2\n";
    }
}
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four"));
  • Class内部
class foo {
    function bar($arg, $arg2) {
        echo __METHOD__, " got $arg and $arg2\n";
    }
    
    function use() {
        call_user_func_array([$this, "bar"], array("three", "four"));
    }
}

  • static Class

namespace Foobar;

class Foo {
    static public function test($name) {
        print "Hello {$name}!\n";
    }
}

// As of PHP 5.3.0
call_user_func_array(__NAMESPACE__ .'\Foo::test', array('Hannes'));

// As of PHP 5.3.0
call_user_func_array(array(__NAMESPACE__ .'\Foo', 'test'), array('Philip'));
  • static Class的内部

namespace Foobar;

class Foo {
    static public function test($name) {
        print "Hello {$name}!\n";
    }
    
    public function use() {
        call_user_func_array([self, 'test'], array('Hannes'));
    }
}

相关文章

网友评论

      本文标题:call_user_func_array用法

      本文链接:https://www.haomeiwen.com/subject/yiermhtx.html