Devolución
de un valor, eval
Devolución
de un valor
Para
devolver un valor se emplea la cláusula return.
<!--
Funcion4.php -->
function
Factorial($nValue) {
if ($nValue <= 1) {
return 1;
} else {
return Factorial($nValue-1)*$nValue;
}
}
$nNumber
= 7;
Echo("El
factorial de $nNumber es " . Factorial($nNumber));
En
PHP las funciones pueden llamarse a sí mismas (recursivas),
e incluso se pueden declarar funciones dentro de funciones o clases
dentro de funciones.
Evaluación
de variables con eval
La
función eval($strExpr) permite evaluar la expresión
$strExpr, de manera que si contiene código PHP válido,
éste será interpretado. Esto permite cosas muy flexibles
como por ejemplo callbacks:
<!--
Funcion5.php -->
function
mycallback($strParam) {
Echo("Dentro
del callback<BR> con parámetro $strParam");
}
function
myfunc($fnCallback) {
//
Creamos una tabla
echo("<TABLE><TR><TD>Callback1:</TD><TD>");
// Llamamos al callback
eval($fnCallback);
// Cerramos la tabla
Echo("</TD></TR><TABLE>");
}
$strCode
= 'global $strParam; mycallback($strParam);';
$strParam
= "Soy el parámetro del callback";
myfunc($strCode);
Podemos
emplear otra técnica para hacer callbacks más sencillos
con:
function
mycallback() {
Echo("Dentro del callback.<BR>");
}
$strCallback
= "mycallback";
//
Llamamos al callback
$strCallback();
<<<Anterior
- Siguiente>>>
|