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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章