PHP 回调函数/可调用函数
phpserver side programmingprogramming更新于 2025/7/18 15:07:17
定义和用法
回调函数是 PHP 中的伪类型。PHP 5.4 引入了可调用函数类型提示,与回调函数类似。当某个对象被标识为可调用函数时,意味着它可以用作可调用函数。可调用函数可以是内置函数、用户定义函数,也可以是任何类中的方法。
is_callable() 函数可用于验证标识符是否为可调用函数。PHP 提供 call_user_function() 函数,它接受函数名称作为参数。
以下示例显示内置函数是可调用函数。
示例
<?php
var_dump (is_callable("abs"));
?>
输出
这将产生以下结果 −
bool(true)
在下面的例子中,测试了用户定义函数是否可调用。
示例
<?php
function myfunction(){
echo "Hello World";
}
echo is_callable("myfunction") . "
";
call_user_func("myfunction")
?>
输出
这将产生以下结果 −
1 Hello World
要将对象方法作为可调用对象传递,对象本身及其方法将作为数组中的两个元素传递
示例
<?php
class myclass{
function mymethod(){
echo "This is a callable" . "
";
}
}
$obj=new myclass();
call_user_func(array($obj, "mymethod"));
//以文字形式传递的数组
call_user_func([$obj, "mymethod"]);
?>
输出
这将产生以下结果 −
This is a callable This is a callable
类中的静态方法也可以作为可调用方法传递。数组参数的第一个元素应该是类名,而不是对象
示例
<?php
class myclass{
static function mymethod(){
echo "This is a callable" . "
";
}
}
$obj=new myclass();
call_user_func(array("myclass", "mymethod"));
//使用范围解析运算符
call_user_func("myclass::mymethod");
?>
输出
这将产生以下结果 −
This is a callable This is a callable

