PHP callback函数使用方法和注意事项_php技巧
程序员文章站
2022-05-18 20:00:04
...
在PHP中有些诸如 call_user_function() 或 usort() 的函数接受用户自定义的函数作为一个参数。Callback 函数不仅可以是一个简单的函数,它还可以是一个对象的方法,包括静态类的方法。
// An example callback function
function my_callback_function() {
echo 'hello world!';
}
// An example callback method
class MyClass {
function myCallbackMethod() {
echo 'Hello World!';
}
}
// Type 1: Simple callback
call_user_func('my_callback_function');
// Type 2: Static class method call
call_user_func(array('MyClass', 'myCallbackMethod'));
// Type 3: Object method call
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));
?>
http://www.phpe.net/manual/language.pseudo-types.php
http://cn.php.net/manual/en/language.pseudo-types.php
一个 PHP 函数用函数名字符串来传递。您可以传递任何内建的或者用户自定义的函数,除了 array(), echo(), empty(), eval(), exit(), isset(), list(), print() 和 unset()。
一个对象的方法以数组的形式来传递,数组的 0 下标指明对象名,下标 1 指明方法名。
对于没有实例化为对象的静态类,要传递其方法,将数组 0 下标指明的对象名换成该类的名称即可。
Callback 函数实例:
复制代码 代码如下:
// An example callback function
function my_callback_function() {
echo 'hello world!';
}
// An example callback method
class MyClass {
function myCallbackMethod() {
echo 'Hello World!';
}
}
// Type 1: Simple callback
call_user_func('my_callback_function');
// Type 2: Static class method call
call_user_func(array('MyClass', 'myCallbackMethod'));
// Type 3: Object method call
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));
?>
http://www.phpe.net/manual/language.pseudo-types.php
http://cn.php.net/manual/en/language.pseudo-types.php
上一篇: 一个关于时间有关问题
推荐阅读
-
smarty模板引擎中内建函数if、elseif和else的使用方法,smartyelseif_PHP教程
-
PHP调试函数和日志记录函数分享_php技巧
-
PHP函数级分层性能分析工具xhprof的安装和使用方法
-
PHP小技巧之JS和CSS优化工具Minify的使用方法_PHP教程
-
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明_php技巧
-
PHP网站安装程序制作的原理、步骤、注意事项和示例代码_php技巧
-
PHP 判断常量,变量和函数是否存在_php技巧
-
PHP中strtotime函数使用方法详解_php技巧
-
php中iconv函数使用方法_php技巧
-
PHP时间戳 strtotime()使用方法和技巧_PHP教程