PHP callback函数使用方法和注意事项

这篇文章主要介绍了PHP callback函数使用方法和注意事项,本文讲解了callback函数的一些使用技巧和避免事项,并给出了一个使用实例,需要的朋友可以参考下

在PHP中有些诸如 call_user_function() 或 usort() 的函数接受用户自定义的函数作为一个参数。Callback 函数不仅可以是一个简单的函数,它还可以是一个对象的方法,包括静态类的方法。

一个 PHP 函数用函数名字符串来传递。您可以传递任何内建的或者用户自定义的函数,除了 array(), echo(), empty(), eval(), exit(), isset(), list(), print() 和 unset()。

一个对象的方法以数组的形式来传递,数组的 0 下标指明对象名,下标 1 指明方法名。

对于没有实例化为对象的静态类,要传递其方法,将数组 0 下标指明的对象名换成该类的名称即可。

Callback 函数实例:

  1. <?php
  2. // An example callback function
  3. function my_callback_function() {
  4. echo 'hello world!';
  5. }
  6. // An example callback method
  7. class MyClass {
  8. function myCallbackMethod() {
  9. echo 'Hello World!';
  10. }
  11. }
  12. // Type 1: Simple callback
  13. call_user_func('my_callback_function');
  14. // Type 2: Static class method call
  15. call_user_func(array('MyClass', 'myCallbackMethod'));
  16. // Type 3: Object method call
  17. $obj = new MyClass();
  18. call_user_func(array($obj, 'myCallbackMethod'));
  19. ?>

http://www.phpe.net/manual/language.pseudo-types.php

http://cn.php.net/manual/en/language.pseudo-types.php