Anda di halaman 1dari 2

Funciones definidas por el usuario

Como hemos visto en lecciones anteriores, además de las numerosas funciones


integradas en PHP, disponemos de la capacidad de definir funciones que nos permiten
realizar ciertas tareas en diferentes partes de nuestro script, o mejor aún, en distintos
scripts, simplemente recordando la porción del código relacionado, a los que hemos
asignado un nombre que identifica la función en sí. Vamos a ver ahora cómo definir una
función.

Veamos un ejemplo sencillo. Queremos construir una función que, dados tres números,
devuelva el mayor de los tres. Veamos el código:

function el_mayor($num1, $num2, $num3)

if (! is_numeric($num1)) { return false; }

if (! is_numeric($num2)) { return false; }

if (! is_numeric($num3)) { return false; }

if ($num1 > $num2)

if ($num1 > $num3)

return $num1;

} else {

return $num3;

else

if ($num2 > $num3) {

return $num2;

} else {

return $num3;

Juan de la Torre Domingo Curso Práctico de PHP


Como vemos, la definición de la función es a través de la palabra clave function, seguido
por el nombre que hemos creado para la función y los paréntesis contienen los parámetros
(o argumentos) que deben ser pasados "‹"‹a la función. A continuación, entre llaves,
tenemos el código que se ejecuta cada vez que se invoca la función. El nombre de la
función debe ser necesariamente único, esto significa que no se pueden definir dos
funciones con el mismo nombre.

Dentro de la función, vemos la declaración return: Esta declaración es muy importante, ya


que termina la función (es decir, devuelve el control al script en el punto donde la función
fue llamada) y al mismo tiempo determina que el valor será devuelto por la función.

En nuestro ejemplo, en primer lugar los tres datos recibidos en la entrada se comprueban,
uno tras otro, para asegurarse de que son numéricos: (los examina anteponiendo a la
función is_numeric() el símbolo ! de negación). Si no son numéricos la función devuelve el
valor booleano falso.

Una vez verificado que los tres valores son numéricos, se comparan los dos primeros, y
luego el mayor de los dos se compara con el tercero, de modo que se obtiene el mayor de
los tres, que se devuelve entonces como el resultado de la función. Cuando llegue el
momento de realizar esta función, podemos utilizar este código:

$a = 9;

$b = 8;

$c = 15;

$m = el_mayor($a, $b, $c); // $m será 15

Como habrás visto, hemos llamado a la función utilizando nombres de variables


diferentes de los utilizados en la propia función: en la función hemos usado $num1,
$num2 y num3 , mientras que el script hemos utilizado $a, $b y $c . Es muy importante
recordar que no existe una relación definida entre los nombres de los argumentos que la
función utiliza y los que se indique en la llamada. Lo que determina la correspondencia
entre los argumentos es, de hecho, sólo la posición en la que se enumeran: en nuestro
caso, $a se convierte en $num1 dentro de la función, $b en $num2 y $c en $num3 .

Podríamos usar nuestra función también pasándole directamente los valores afectados, sin
necesidad de utilizar las variables:

$m = el_mayor(9, 8, 15); // $m será 15

/* $m se convierte en FALSE, debido a que el tercer argumento es


no numérico y, por tanto,

* el control que hemos establecido al principio de la función la


bloquea

$m = el_mayor(9, 8, 'hola');

Juan de la Torre Domingo Curso Práctico de PHP

Anda mungkin juga menyukai