function
process(
$var1
,
$var2
,
$farr
)
{
for
($f=0
;
$f
count($farr)
;
$f++
)
echo
$farr[$f]($var1,$var2)
."\n"
;
}
/
/
Erzeugung
eines
Bündels
an
mathematischen
Funktionen
$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
"als
trig
:
"
.(sin($x
)
+
$x*cos($y))
;')
,
create_function('$x,$y'
,
'return
"als
Hypotenuse
:
".sqrt($x*$x
+
$y*$y)
;')
,
create_function('$a,$b'
,
$f1)
,
create_function('$a,$b'
,
$f2)
,
create_function('$a,$b'
,
$f3
)
)
;
echo
"\nGebrauch
des
ersten
Arrays
der
anonymen
Funktionen\n"
;
echo
"Parameter
:
2.3445
,
M_PI\n"
;
process(2.3445
,
M_PI
,
$farr)
;
/
/
Erzeugung
eines
Bündels
an
String-Behandlungs-Routinen
$garr
=
array
(
create_function('$b
,
$a'
,'if
(strncmp
($a
,
$b
,
3
)
==
0
)
return
"**
\"$a\
"
'
.
'und
\"$b\"\n**
Sieht
für
mich
gleich
aus
!
(ansehen
der
ersten
3
Zeichen)"
;')
,
create_function('$a
,
$b'
,'
;
return
"CRCs
:
".crc32($a)
.
"
,
".crc32(b)
;')
,
create_function('$a
,
$b'
,'
;
return
"ähnlich(a
,
b
)
=
".similar_text($a
,
$b
,
$p)
."($p%)"
;'
)
)
;
echo
"\nGebrauch
des
zweiten
Arrays
der
anonymen
Funktionen\n"
;
process("Twas
brilling
and
the
slithy
toves"
,
"Twas
the
night"
,
$garr)
;
|