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");
?>