call_user_func
(PHP 4, PHP 5)
call_user_func — Call a user function given by the first parameter
Description
mixed call_user_func
( callback $function
[, mixed $parameter
[, mixed $...
]] )
Call a user defined function given by the function parameter.
Parameters
- function
-
The function to be called. Class methods may also be invoked statically using this function by passing array($classname, $methodname) to this parameter.
- parameter
-
Zero or more parameters to be passed to the function.
Note: Note that the parameters for call_user_func() are not passed by reference.
<?php
function increment(&$var)
{
$var++;
}
$a = 0;
call_user_func('increment', $a);
echo $a; // 0
call_user_func_array('increment', array(&$a)); // You can use this instead
echo $a; // 1
?>
Return Values
Returns the function result, or FALSE on error.
Examples
Example#1 call_user_func() example
<?php
function barber($type)
{
echo "You wanted a $type haircut, no problem";
}
call_user_func('barber', "mushroom");
call_user_func('barber', "shave");
?>
Example#2 Using a class method
<?php
class myclass {
function say_hello()
{
echo "Hello!\n";
}
}
$classname = "myclass";
call_user_func(array($classname, 'say_hello'));
?>