Вы находитесь на странице: 1из 5

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

APRENDERAPROGRAMAR.COM

FUNCIONES PHP:
DECLARACIN Y
LLAMADAS. PARMETROS,
RETURN. EJERCICIOS
EJEMPLOS RESUELTOS.
(CU00827B)

Seccin: Cursos
Categora: Tutorial bsico del programador web: PHP desde cero
Fecha revisin: 2029
Resumen: Entrega n27 del Tutorial bsico PHP desde cero.

Autor: Enrique Gonzlez Gutirrez

aprenderaprogramar.com, 2006-2029

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 en PHP:
function nombre (parmetro1, parmetro2, , parmetroN) {
instruccin1
instruccin2
.
.
.
instruccinN
}
Para llamar (hacer que se ejecute) la funcin usaremos esta sintaxis: nombre(par1, par2, par3, , parN);
donde par1, par2, par3, , parN son los parmetros (informacin) que le pasamos a la funcin. Una
funcin puede necesitar de ningn, uno o varios parmetros para ejecutarse.
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

//Declaracin de funciones
function mostrarTexto($texto) {
echo "<strong>El texto a mostrar es el siguiente: </strong>";
echo $texto;
}
//Fin de la declaracin de funciones

mostrarTexto("Me gusta mucho la web de aprenderaprogramar.com");


?>

aprenderaprogramar.com, 2006-2029

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 distingue entre una cosa y otra,
simplemente se habla de funcin en general.

b)

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.

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). Estas funciones, que
podramos denominar funciones en sentido estricto, son aquellas que ejecutan un cdigo y como
punto final de dicho cdigo incluyen una sentencia return seguida del resultado de la funcin. La
sentencia return indica que cuando se alcanza se ha llegado al final de la funcin y se devuelve como
resultado de la misma el contenido especificado a continuacin del return. Despus de un return puede
devolverse una variable, un nmero, una cadena de texto, etc.
Por ejemplo return "No dispone de permisos" significa que la funcin devuelve esta cadena de texto.
Otro ejemplo: return $calculo; indica que la funcin devuelve el contenido que se encuentre
almacenado en la variable $calculo. Otro ejemplo: return "Lo sentimos ".$usuario." pero no dispone de
permisos. Para solicitar informacin puede escribir a ".$emailAdministrador; hara que la funcin
devuelva una cadena de texto donde intervienen diversas variables.

aprenderaprogramar.com, 2006-2029

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

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");
?>

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 >>, es decir, sera lo
mismo que escribir echo (15-8); echo 7;
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 del tipo <<Warning: Missing argument 3 for operaciones()>>.
Por ltimo, tener en cuenta 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
}
?>

aprenderaprogramar.com, 2006-2029

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

Esta funcin carece de parmetros. Para invocarla escribiramos mostrarTextoError(). Cada vez que
realizramos la invocacin se ejecutara el cdigo dentro de la funcin. Esta funcin podemos decir que
es tipo procedimiento porque no devuelve un resultado (no tiene sentencia return).

EJERCICIO
Crear las siguientes funciones en PHP y cdigo para comprobar su funcionamiento:
a) 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).
b) 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 los nmeros 2, 5, 1, 8, 10 a una variable de nombre $tmp y muestra por pantalla el valor de
la variable.
c) Una funcin que reciba como parmetros el valor del radio de la base y la altura de un cilindro y
devuelva el volumen del cilindro, teniendo en cuenta que el volumen de un cilindro se calcula como
Volumen = nmeroPi * radio * radio * Altura siendo nmeroPi = 3.1416 aproximadamente.
Para comprobar si tus respuestas y cdigo son correctos puedes consultar en los foros
aprenderaprogramar.com.

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-2029

Вам также может понравиться