Fonctions sur la gestion des fonctions
PHP Manual

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_arrayAppelle une fonction utilisateur avec les paramètres rassemblés en tableau

Description

mixed call_user_func_array ( callback $function , array $param_arr )

Appelle la fonction utilisateur function avec les paramètres param_arr , rassemblés dans un tableau.

Liste de paramètres

function

La fonction à appeler.

param_arr

Les paramètres à passer à la fonction, sous la forme d'un tableau indexé.

Valeurs de retour

Retourne le résultat de la fonction, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec 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));
?>

Exemple #2 Exemple avec call_user_func_array() en utilisant un espace de nom

<?php

namespace Foobar
;

class 
Foo {
    static public function 
test($name) {
        print 
"Hello {$name}!\n";
    }
}

// Depuis PHP 5.3.0
call_user_func_array(__NAMESPACE__ .'::Foo::test', array('Hannes'));
// Hello Hannes!

// Depuis PHP 5.3.0
call_user_func_array(array(__NAMESPACE__ .'::Foo''test'), array('Philip'));
// Hello Philip!

?>

Notes

Note: Les variables référencées dans le paramètre param_arr sont passées à la fonction par référence, les autres sont passées par leur valeur. En d'autres termes, cela ne dépend pas de la signature de la fonction suivant que le paramètre est passé par valeur ou par référence.

Voir aussi


Fonctions sur la gestion des fonctions
PHP Manual