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

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_arrayChama 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


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