callbacks,回调函数

          php中很多函数的参数都要用到回调函数,例如call_user_func(callable $function),和call_user_func_array(callable $function, array $param)

         什么是回调函数呢,回调函数是通过函数的指针(地址)调用函数的函数,再直白点就是就是通过函数函数名调用函数。

下面来看几个例子

<?php
    function my_callbacks()
    {
        echo "曹志攀";
    }
    class test
    {
        public function my_callbacks()
        {
            echo "正在找工作";
        }
    }
    call_user_func("my_callbacks");//注意参数是函数的指针(就是函数名)
    echo "<br>";
    call_user_func(array("test","my_callbacks"));//通过数组回调用类中的方法
?>

上面这个程序看懂后你可能问,如果函数本身就有参数呢,好吧那得看你的回调函数支持不拉,看下面这个例子

<?php
    function my_callbacks($name)
    {
        echo $name;
    }
    class test
    {
        public function my_callbacks($work)
        {
            echo $work;
        }
    }
    call_user_func_array("my_callbacks","曹志攀");
    echo "<br>";
    call_user_func_array(array("test","my_callbacks"),"正在找工作");
?>

当然你也可以写一个自己的回调函数,如下

<?php
        function callbacks($function)
        {
            $function();
        }
        function test()
        {
            echo "haha";
        }
        callbacks("test");
?>


发布了45 篇原创文章 · 获赞 2 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章