(PHP 4, PHP 5)
call_user_func — Вызывает пользовательскую функцию
Вызывает пользовательскую функцию function со следующими параметрами:
<?phpfunction barber($type) { echo "You wanted a $type haircut, no problem";}call_user_func('barber', "mushroom");call_user_func('barber', "shave");?>
Методы класса также могут быть вызваны статически при передаче array($classname, $methodname) в качестве параметра function .
<?phpclass myclass { function say_hello() { echo "Hello!\n"; }}$classname = "myclass";call_user_func(array($classname, 'say_hello'));?>
Замечание: Обратите внимание, что параметры для call_user_func() не могут передаваться по ссылке. <?phpfunction increment(&$var){ $var++;}$a = 0;call_user_func('increment', $a);echo $a; // 0call_user_func_array('increment', array(&$a)); // You can use this insteadecho $a; // 1?>
Замечание: Обратите внимание, что параметры для call_user_func() не могут передаваться по ссылке.
<?phpfunction increment(&$var){ $var++;}$a = 0;call_user_func('increment', $a);echo $a; // 0call_user_func_array('increment', array(&$a)); // You can use this insteadecho $a; // 1?>
См. также: is_callable(), и call_user_func_array()