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