Anda di halaman 1dari 4

Funciones en PHP: declaracin y llamada a funciones en PHP. Ejemplos.

APRENDERAPROGRAMAR.COM

FUNCIONES EN PHP: DECLARACIN Y LLAMADAS A FUNCIONES. PARMETROS. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

Seccin: Cursos Categora: Tutorial bsico del programador web: PHP desde cero Fecha ltima actualizacin: 2012 Resumen: Entrega n27 del Tutorial bsico PHP desde cero.

aprenderaprogramar.com, 2006-2012

Autor: Enrique Gonzlez Gutirrez

Funciones en PHP: declaracin y llamada a funciones en PHP. Ejemplos.

FUNCIONES EN PHP Una de las herramientas ms importantes en cualquier lenguaje de programacin son las funciones. Una funcin es un conjunto de instrucciones que a lo largo del programa van a ser ejecutadas multitud de veces. Es por ello, que este conjunto de instrucciones se agrupan en una funcin. Las funciones pueden ser llamadas y ejecutadas desde cualquier punto del programa.

Adems, una funcin puede recibir parmetros externos de los cuales dependa el resultado de dicha funcin. Es decir, segn el parmetro o parmetros con los que se invoque a la funcin, sta devolver un resultado u otro. Las funciones deben estar definidas antes de realizar la llamada a la funcin (como es lgico). Sintaxis general para declarar una funcin: function nombre (parmetro1, parmetro2, , parmetroN) { instruccin1 instruccin2 . . . instruccinN } Para llamar (hacer que se ejecute) la funcin usaremos esta sintaxis: nombre(parmetros); Escribe ahora este cdigo y gurdalo con un nombre de archivo como ejemplo1.php. A continuacin, sube el fichero al servidor y visualiza el resultado.
<?php //Ejemplo funciones aprenderaprogramar.com function mostrarTexto($texto) { echo "<strong>El texto a mostrar es el siguiente: </strong>"; echo $texto; } mostrarTexto("Me gusta mucho la web de aprenderaprogramar.com"); ?>

aprenderaprogramar.com, 2006-2012

Funciones en PHP: declaracin y llamada a funciones en PHP. Ejemplos.

En este ejemplo hemos visto cmo hemos definido una funcin cuyo nombre es mostrarTexto. Esta funcin espera un parmetro cuando es invocada (parmetro que se ha denominado $texto). Una vez se ejecuta, la funcin ejecuta una serie de instrucciones y devuelve el control al punto desde el que fue invocada. Podemos hacer varios comentarios: a) En algunos lenguajes de programacin se distinguen los trminos procedimiento cuando un fragmento de cdigo de este tipo ejecuta una serie de instrucciones sin devolver un valor, frente al trmino funcin que se aplica cuando un fragmento de cdigo de este tipo ejecuta una serie de instrucciones y devuelve un valor. En PHP no se suele distinguir entre una cosa y otra, simplemente se habla de funcin en general. En algunos lenguajes de programacin como Java el tipado o especificacin de tipos que se van a recibir por parte de la funcin (o el tipo de dato que va a devolver la funcin) es mucho ms fuerte. Si te fijas, la funcin mostrarTexto recibe un parmetro denominado $texto, pero en ningn lado se especifica si dicho parmetro es tipo integer, float, double string. De qu tipo es? Realmente no lo sabemos: el intrprete PHP se encarga de automticamente reconocer el tipo que se le pasa a la funcin. Adems, intentar ejecutar el cdigo sea como sea el tipo del parmetro pasado. Si le resultara imposible ejecutar el cdigo, devolvera un error.

b)

La utilidad fundamental de las funciones es no tener que repetir partes de cdigo comunes, que sera necesario repetir varias veces. Esas partes de cdigo comunes se agrupan en funciones y simplemente llamaremos a la funcin cada vez que necesitamos ejecutar ese cdigo. De esta manera, evitamos la repeticin que hace ms largo y difcil de entender un programa o desarrollo web. Tambin podemos crear funciones que devuelvan datos (valores concretos). Escribe ahora este cdigo y gurdalo con un nombre de archivo como ejemplo2.php. A continuacin, sube el fichero al servidor y visualiza el resultado.
<?php // Ejemplo funciones aprenderaprogramar.com function operaciones($n1, $n2, $operacion) { $resultado = 0; if($operacion == "Sumar") { $resultado = $n1 + $n2; }else if($operacion == "Restar") { $resultado = $n1 - $n2; }else if($operacion == "Multiplicar") { $resultado = $n1 * $n2; } return $resultado; // Devolver el resultado } // Llamar a la funcin operaciones $r = operaciones(5, 7, "Sumar"); echo $r . "<br>"; // O podemos imprimir directamente echo operaciones(15, 8, "Restar"); ?>

aprenderaprogramar.com, 2006-2012

Funciones en PHP: declaracin y llamada a funciones en PHP. Ejemplos.

Fjate que a diferencia de la funcin mostrarTexto, la funcin operaciones nos devuelve un valor concreto, de forma que se sustituye su invocacin all donde aparece por el valor que devuelve. As, la instruccin echo operaciones(15, 8, "Restar"); equivale a lo que sera escribir echo <<aqu el valor devuelto por la funcin operaciones invocada con los parmetros 15, 8 y Restar >>. Adems, fjate que la funcin mostrarTexto requera un parmetro, mientras que la funcin operaciones requiere tres parmetros. Si invocas la funcin sin pasarle el nmero de parmetros adecuado obtendrs un error. Por ltimo, indicar que una funcin puede ser invocada sin parmetros.

<?php //Ejemplo funciones aprenderaprogramar.com function mostrarTextoError { echo "<strong>Se ha producido un error </strong>"; // Aqu pueden venir varias lneas de instrucciones } ?>

Esta funcin carece de parmetros. Para invocarla escribiramos mostrarTextoError(). Cada vez que realizramos la invocacin se ejecutara el cdigo dentro de la funcin. A modo de ejercicios, resuelve los siguientes problemas: Crear una funcin que reciba cinco nmeros enteros como parmetros y muestre por pantalla el resultado de sumar los cinco nmeros (tipo procedimiento, no hay valor devuelto). Crear una funcin que reciba cinco nmeros enteros como parmetros y devuelva el resultado de sumar los cinco nmeros (tipo funcin, hay un valor devuelto). Asigna el resultado de una invocacin a la funcin con cinco nmeros cualesquiera a una variable de nombre $tmp y muestra por pantalla el valor de la variable.

Prxima entrega: CU00828B Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la direccin siguiente:
http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193
aprenderaprogramar.com, 2006-2012