1、标准回调
示例:使用call_user_func()函数调用一个函数,其中包含的参数是函数名称。
?php header( content-type:text/html;charset=utf-8 function text1(){ echo 这个是text1 br call_user_func( text1 ?
输出:
这个是text1
说明:调用了一个call_user_func()函数,然后call_user_func()函数在执行过程中又往回调用了 text1()函数。
2、静态类方法回调
示例:使用call_user_func()函数调用静态类方法,其中的参数是一个包含类名称和要调用的方法的数组。
?php header( content-type:text/html;charset=utf-8 class Demo { // 用于输出字符串的函数 static function someFunction() { echo 父级函数输出 br class Article extends Demo { // 用于输出字符串的函数 static function someFunction() { echo 子级函数输出 br // 静态类方法回调call_user_func(array( Article , someFunction call_user_func( Article::someFunction // 相对静态类方法回调call_user_func(array( Article , parent::someFunction ?
输出:
子级函数输出子级函数输出父级函数输出
3、对象方法回调
示例:使用call_user_func()函数调用对象方法,其中参数是包含对象变量和要调用方法的字符串名称的数组。
?php header( content-type:text/html;charset=utf-8 class Demo { // 输出字符串的函数 static function someFunction() { echo PHP br // 输出字符串的函数 public function __invoke() { echo __invoke()函数 br // 类对象$obj = new Demo(); // 对象方法调用call_user_func(array($obj, someFunction call_user_func($obj); ?
输出:
PHP __invoke()函数
4、闭包回调
示例:使用array_map()函数对闭包函数赋予的有效参数数组进行标准调用或映射闭包函数,可以使闭包函数可调用,其中参数是闭包函数及其有效参数的数组。
?php header( content-type:text/html;charset=utf-8 // 用于输出 br $print_function = function($string) { echo $string. br // 字符串数组 $string_array = array( PHP , Python , MySQL // 可调用闭包array_map($print_function, $string_array);?
输出:
PHPPythonMySQL
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php 相关教程栏目!!!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答