Funções para Manuseamento de Funções
call_user_func
Funções para Manuseamento de Funções
PHP Manual

# call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array — Chama uma dada função de usuário com um array de parâmetros

### Descrição

mixed call_user_func_array ( callback `$function` , array `$param_arr` )

Chama uma `function` definida pelo usuário com os parâmetros `param_arr`.

### Parâmetros

`function`

  A função a ser chamada.

`param_arr`

  Os parâmetros para ser passado para a função, com array indexado.

### Valor Retornado

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

### Exemplos

Exemplo #1 Exemplo da call_user_func_array()

`<?php
function debug($var, $val)
{
echo "***DEBUGGING\nVARIABLE: $var\nVALUE:";
if (is_array($val) || is_object($val) || is_resource($val)) {
print_r($val);
} else {
echo "\n$val\n";
}
echo "***\n";
}
$c = mysql_connect();
$host = $_SERVER["SERVER_NAME"];
call_user_func_array ('debug', array("host", $host));
call_user_func_array ('debug', array("c", $c));
call_user_func_array ('debug', array("_POST", $_POST));
?>`

Exemplo #2 Usando call_user_func_array() com nome do namespace

`<?php
namespace Foobar;
class Foo {
static public function test($name) {
print "Hello {$name}!\n";
}
}
// A partir do PHP 5.3.0
call_user_func_array(__NAMESPACE__ .'::Foo::test', array('Hannes'));
// Hello Hannes!
// A partir do PHP 5.3.0
call_user_func_array(array(__NAMESPACE__ .'::Foo', 'test'), array('Philip'));
// Hello Philip!
?>`

### Notas

> Nota: Variáveis referenciadas em `param_arr` são passadas para a função por referência, outras são passadas por valor. Em outras palavras, ele não depende da assinatura da função se o parâmetro é passado por valor ou por referência.

### Veja Também

- call_user_func() - Chama uma função de usuário dada pelo primeiro parâmetro
- informações sobre o tipo callback

Funções para Manuseamento de Funções
call_user_func
Funções para Manuseamento de Funções
PHP Manual