Exécuter une fonction contenue dans un string
Bonjour,
j'ai un énorme tableau, dans lequel j'ai une liste de fonctions à exécuter selon un code particulier (clé "cod") :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $tableau_fonctions = array(
array("lib" => "libelle1",
"cod" => "code1",
"nb1" => 'fonction1($par1, $par2)',
"nb2" => 'fonction2($par3, $par4)'),
array("lib" => "libelle2",
"cod" => "code2",
"nb1" => 'fonction3($par5, $par6)',
"nb2" => 'fonction4($par7, $par8)'),
array("lib" => "libelle3",
"cod" => "code3",
"nb1" => 'fonction5($par9, $par10)',
"nb2" => 'fonction6($par11, $par12)') |
je précise que mon tableau est beaucoup plus gros que celui-là..
dans un autre tableau je récupère la liste des codes :
Code:
$tableau_codes = array('code1', 'code3');
Grâce à cette liste, je voudrais pouvoir exécuter les fonctions associées à chaque code, dans mon exemple je voudrais récupérer les résultats des fonctions fonction1, fonction2, fonction5 et fonction6. J'arrive à récupérer la chaîne de caractères contenant la fonction, mais n'arrive pas à exécuter la fonction :(
Code:
1 2 3 4 5 6 7 8 9
| foreach ($tableau_codes as $key_code => $value_code) {
foreach ($tableau_fonctions as $key_fonc => $libelle_fonc) {
if (in_array($value_code, $libelle_fonc))
{
$res = $libelle_fonc['nb1'](); //erreur : Call to undefined function fonction1($par1, $par2)()
break;
}
}
} |
j'espère que quelqu'un pourra m'aider !
Merci.