function process( $var1, $var2, $farr) {for ($f=0; $f count($farr); $f++) echo $farr[$f]($var1,$var2) ."\n";} / / create a bunch of math functions $f1 = 'if ($a =0) {return "b*a^2 = ".$b*sqrt($a);} else {return false ;}'; $f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a) ;"; $f3 = 'if ($a 0 $b != 0) {return "ln(a) / b = ".log($a) / $b;} else {return false; }'; $farr = array (create_function('$x,$y', 'return "some trig: ".(sin($x) + $x*cos($y)) ;'), create_function('$x,$y', 'return "a hypotenuse: ".sqrt($x*$x + $y*$y) ;'), create_function('$a,$b', $f1), create_function('$a,$b', $f2), create_function('$a,$b', $f3)); echo "\nUsing the first array of anonymous functions\n"; echo "parameters:
?php function process( $var1, $var2, $farr) {for ($f=0; $f count($farr); $f++) echo $farr[$f]($var1,$var2) ."\n";} / / création d'une série de fonction mathématiques $f1 = 'if ($a =0) {return "b*a^2 = ".$b*sqrt($a);} else {return FALSE ;}'; $f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a) ;"; $f3 = 'if ($a 0 $b != 0) {return "ln(a) / b = ".log($a) / $b;} else {return FALSE ;}'; $farr = array (create_function('$x,$y', 'return "un peu de trigo: ".(sin($x) + $x*cos($y)) ;'), create_function('$x,$y', 'return "une hypoténuse: ".sqrt($x*$x + $y*$y) ;'), create_function('$a,$b', $f1), create_function('$a,$b', $f2), create_function('$a,$b', $f3)); echo "\nUtilisation de la première liste de fonctions anonymes\n"; echo "paramétres: