number indicates that a parameter can be either
integer or float.
callback
Some functions like call_user_func() or
usort() accept user-defined callback functions as a
parameter. Callback functions can not only be simple functions, but also
object methods, including static class methods.
A method of an instantiated object is passed as an
array containing an object at index 0 and the
method name at index 1.
Static class methods can also be passed without instantiating an
object of that class by passing the class name instead of an
object at index 0.
Apart from common user-defined function, create_function()
can also be used to create an anonymous callback function.
Example #1
Callback function examples
<?php
// An example callback function function my_callback_function() { echo 'hello world!'; }
// An example callback method class MyClass { static 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'));
// Type 4: Static class method call (As of PHP 5.2.3) call_user_func('MyClass::myCallbackMethod');
// Type 5: Relative static class method call (As of PHP 5.3.0) class A { public static function who() { echo "A\n"; } }
class B extends A { public static function who() { echo "B\n"; } }
call_user_func(array('B', 'parent::who')); // A ?>
Note:
In PHP4, it was necessary to use a reference to create a callback that
points to the actual object, and not a copy of it. For more
details, see
References Explained.
void
void as a return type means that the return value is
useless. void in a parameter list means that the function
doesn't accept any parameters.
...
$...
in function prototypes means
and so on. This variable name is used when a function can
take an endless number of arguments.