本文档中使用的伪类型

mixed
mixed 说明一个参数可以接受多种不同的(但并不必须是所有的)类型。

gettype() 表明可以接受所有的 PHP 类型,例如 str_replace() 将接受字符串和数组。

number
number 说明一个参数可以是 integer 或者 float。

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

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

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

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

例子 6-11. Callback 函数实例

<?php

// simple callback example
function my_callback_function() {
    echo "hello world!";
}
call_user_function("my_callback_function");

// method callback examples
class MyClass {
  function myCallbackMethod() {
    echo "hello world!";
  }
}
// static class method call without instantiating an object
call_user_func(array('MyClass', 'myCallbackMethod'));
// object method call
$obj = new MyClass();
call_user_func(array(&$obj, 'myCallbackMethod'));
?> 
 

 

posted @ 2011-10-25 16:17  南山砍柴的  阅读(117)  评论(0)    收藏  举报