PHP 7.2.0 Release Candidate 2 Released

Pseudo-types and variables used in this documentation


mixed indicates that a parameter may accept multiple (but not necessarily all) types.

gettype() for example will accept all PHP types, while str_replace() will accept strings and arrays.


number indicates that a parameter can be either integer or float.


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 PHP function is passed by its name as a string. Any built-in or user-defined function can be used, except language constructs such as: array(), echo, empty(), eval(), exit(), isset(), list(), print or unset().

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.

Beispiel #1 Callback function examples


// An example callback function
function my_callback_function() {
'hello world!';

// An example callback method
class MyClass {
    static function 
myCallbackMethod() {
'Hello World!';

// Type 1: Simple callback

// Type 2: Static class method call

// Type 3: Object method call
$obj = new MyClass();

// Type 4: Static class method call (As of PHP 5.2.3)

// Type 5: Relative static class method call (As of PHP 5.3.0)
class {
    public static function 
who() {

extends {
    public static function 
who() {

call_user_func(array('B''parent::who')); // A

Hinweis: 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 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.

add a note add a note

User Contributed Notes 1 note

ASchmidt at Anamera dot net
15 days ago
As of PHP 7.1 "void" is now a valid function return type.
To Top