web-dev-qa-db-fra.com

Utiliser une variable comme nom de fonction dans PHP

Duplicata possible:
tilisez une variable pour définir un PHP

Existe-t-il un moyen d'utiliser une variable comme nom de fonction.

Par exemple, j'ai une variable

$varibaleA;

et je veux créer une fonction c'est-à-dire.

function $variableA() {
}

cette fonction peut donc être appelée plus tard dans le script. Est-ce que quelqu'un sait si cela peut être fait?

Merci

25
Carl Thomas

Déclarer une fonction avec un nom variable mais arbitraire comme celui-ci n'est pas possible sans se salir les mains avec eval() ou include().

Je pense en fonction de ce que vous essayez de faire, vous voudrez plutôt stocker un fonction anonyme dans cette variable (utilisez create_function() si vous n'êtes pas sur PHP 5.3+):

$variableA = function() {
    // Do stuff
};

Vous pouvez toujours l'appeler comme vous le feriez fonction variable , comme ceci:

$variableA();
28
BoltClock
$x = 'file_get_contents';
$html = $x('http://google.com');

est fonctionnellement équivalent à faire

$html = file_get_contents('http://google.com');

Ils sont appelés fonctions variables , et devraient généralement être évités car ils sont trop éloignés des variables variables.

16
Marc B

tu peux le faire:

$foo = function() {
    //..
};

puis:

$foo(); 

fonctionne en PHP 5.3+

3
Kakashi