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

相关文章