Forum und email

call_user_func

(PHP 4, PHP 5)

call_user_func — Chama uma função de usuário dada pelo primeiro parâmetro

Descrição

mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )

Chama uma dada função definida pelo usuário pelo parâmetro function .

Parâmetros

function

A função a ser chamada. Métodos de classe podem também ser invocados estaticamente usando esta função passando array($classname, $methodname) para este parâmetro.

parameter

Zero ou mais parâmetros a ser passado para a função.

Nota: Note que os parâmetros para call_user_func() não são passado por referência.

<?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
?>

Valor Retornado

Retorna o resultado da função, ou FALSE em erro.

Exemplos

Example#1 Exemplo da call_user_func()

<?php
function barber($type)
{
    echo 
"You wanted a $type haircut, no problem";
}
call_user_func('barber'"mushroom");
call_user_func('barber'"shave");
?>

Example#2 Usando um método da classe

<?php
class myclass {
  function 
say_hello()
  {
    echo 
"Hello!\n";
  }
}

$classname "myclass";

call_user_func(array($classname,'say_hello'));
?>

Veja também