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
:
|