sábado, 31 de enero de 2009

Manual de PHP 39. Funciones: Funciones que devuelven valores.

Funciones que devuelven valores

Las funciones PHP pueden ser llamadas a partir de un script y posteriormente recoger –en ese mismo script– los resultados de su ejecución.

Para conseguir este resultado debemos escribir dentro de la función la instrucción return seguida de la variable o la instrucción cuyo resultado queremos que sea devuelto al script desde el que ha sido llamada la función.

Tal como podemos ver en el ejemplo, los valores devueltos por return pueden ser presentados directamente en la página o recogidos por una variable.

También es posible que la función genere un array y que este sea devuelto a una variable que se convertiría a ese tipo de forma automática.

Otra opción de recoger los valores devueltos por return es invocar la función mediante una llamada del tipo:

list(v1, v2,..)=llamada

Las variables v1, v2, etc. recogerán los valores de los elementos del array devuelto por la función.


span id="titulito">Ejemplos de funciones que devuelven valores


<?
# asignamos valores a dos variables
$a=3; $b=5;
# escribimos una función que eleva la variable a
# a la potencia indicada en b
# insertando return delante de la operación
function a1($a,$b){
return pow($a,$b);
}

#incluimos en la instruccion echo una llamada
# a la función y en ella pasamos los valores
# recogidos en las variables a y b
# return conseguirá que se ejecute esa función
# y que echo recoja e imprima el resultado
echo "El valor de a elevado a b es: ",a1($a,$b),"<br>";
# esta otra función generará y devolverá un array
# con los resultados de la ejecucion del bucle for
function a2($a,$b){
for ($i=0;$i<=$b;$i++){ $z[]=pow($a,$i); }
return $z;
}

# hacemos una llamada a la función
$p=a2($a,$b);
# leemos el array devuelto desde fuera de la función
foreach($p as $clave=>$valor){
echo "El valor de a (3) elevado a: ",$clave," es: ",$valor,"<br>";
}
echo "<br>";

# otra forma de leer el array con los resultados de la funcion
list($r,$s,$t)=a2($a,$b);
echo "Este es el valor recogido en la variable r :",$r,"<br>";
echo "Este es el valor recogido en la variable s :",$s,"<br>";
echo "Este es el valor recogido en la variable t :",$t,"<br>";
?>


ejemplo69.php







No hay comentarios: