?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
:
2.3445
,
M_PI\n"
;
process(2.3445
,
M_PI
,
$farr)
;
/
/
Maintenant
une
liste
de
fonction
sur
chaîne
de
caractères
$garr
=
array
(
create_function('$b,$a'
,'if
(strncmp($a,$b,3
)
==
0
)
return
"**
\"$a\
"
'
.
'et
\"$b\"\n**
Ces
chaînes
de
ressemblent!
!
(regarde
les
trois
premiers
caractères)"
;')
,
create_function('$a,$b'
,'
;
return
"CRCs
:
".crc32($a)
.
"
,
".crc32(b)
;')
,
create_function('$a,$b'
,'
;
return
"similarité(a,b
)
=
".similar_text($a,$b
,
$p)
."($p%)"
;'
)
)
;
echo
"\nUtilisation
de
la
secondes
liste
de
fonctions
anonymes\n"
;
process("Twas
brilling
and
the
slithy
toves"
,
"Twas
the
night"
,
$garr)
;
?
|