Funciones (1 de 3) PHP 5

Las funciones son grupos de instrucciones independientes que tienen un propósito determinado. Por ejemplo tenemos funciones que calculan la raíz cuadrada de un número, cuentan los caracteres de una palabra o devuelve un número aleatorio. La estructura básica de una función es la siguiente:
nombreFuncion(parametro1, parametro2... parametroN)
Estas funciones pueden ser llamadas con o sin parámetros, según haya sido su definición. Cuanto PHP encuentra una llamada a una función, primero evalúa cada código y lo utiliza como parámetro de entrada. Después ejecuta la función y devuelve el valor solicitado o bien ejecuta alguna acción sin devolver ningún valor.
En el siguiente ejemplo podemos ver llamadas a 3 funciones con 0, 1 y 2 parámetros de entrada.
<?php
echo (sqrt(9) . "<br />");
echo(rand(5, 10) . "<br />");
echo(pi());
?>
El ejemplo anterior muestra la raíz cuadrada de 9, un número aleatorio entre 5 y 10 ambos inclusive y el número pi respectivamente.

Valores de las funciones
Cada función en PHP se considera como una expresión. Se pueden utilizar las funciones para lo mismo que se utilizan las expresiones, como almacenar su resultado en una variable o formar parte de una expresión más compleja.
<?php
//El resultado se almacena en una variable
$numeroAleatorio1 = rand(1, 100);
//Expresión compleja
$numeroAleatorio2 = (rand(1,100) + rand(1, 100)) * sqrt(9);
?>
No todas las funciones devuelven un valor numérico. También pueden devolver caracteres, arrays o true/false si la función a tenido éxito o no. Este tipo de funciones se utilizan para conectar a bases de datos, escribir en ficheros, etcétera.

Función de ejemplo
En este ejemplo, utilizaremos la función date( ) que permite recuperar el año, dia, mes, etcétera, del momento en el que se hace la consulta. Por ejemplo, para mostrar el día de hoy en pantalla utilizaremos la siguiente construcción.
<?php
echo ("Hoy es dia " . date("d"));
?>
El parámetro que le pasamos entre paréntesis a la función indica el formato de fecha que queremos obtener, en este caso con "d" obtenemos el día en formato numérico. Podemos utilizar varios caracteres dentro de la función para obtener el formato deseado, como por ejemplo:
$meses = array ("Enero", "Febrero", "Marzo", "Abril", "Mayo",
    "Junio", "Julio", "Agosto", "Septiembre",
    "Octubre", "Noviembre", "Diciembre");
echo ("Hoy es: " . date("d") . " de " . $meses[date("n") - 1] . " del " .
      date("Y"));
Funciones de usuario
Para realizar aplicaciones complejas con PHP 5, no es necesario escribir funciones. Se pueden hacer programas complejos con todo lo aprendido hasta ahora.

Conforme nuestro proyecto se haga mas complejo y extenso, deberíamos pensar en crear funciones que realicen determinadas tareas.

Definición de funciones
El formato para definir una función es el siguiente:
<?php
function nombreFuncion (argument1, argument2...)
{
 instruccion1;
 instruccion2;
 instruccion3;
}
?>
Como vemos, se empieza por la palabra reservada function, seguido del nombre de la función y el número de parámetros necesarios. El código perteneciente a la función, como vemos, va encerrado entre dos paréntesis { }.

Ahora veremos un ejemplo en el cual calcularemos el factorial de varios números. El factorial del número x se obtiene multiplicando el número x por el factorial de (x-1), teniendo en cuenta que el factorial de 1 es 1. Por ejemplo, el factorial de 3 sería 3 por el factorial de 2, es decir 3 * 2 * 1. El código sin utilizar funciones es:
<?php
 $resultado = 1;
 $factorial = 3; //Queremos calcular el factorial de 3
 for ($x = $factorial; $x > 0; $x--) 
 {
  $resultado = $resultado * $x;
 }
 echo ("El factorial de $factorial es $resultado <br />");
 $resultado = 1;
 $factorial = 4 ; //Queremos calcular el factorial de 4
 for ($x = $factorial; $x > 0; $x--) 
 {
  $resultado = $resultado * $x;
 }
 echo ("El factorial de $factorial es $resultado <br />");
 $resultado = 1;
 $factorial = 5 ; //Queremos calcular el factorial de 5
 for ($x = $factorial; $x > 0; $x--) {
  $resultado = $resultado * $x;
 }
 echo ("El factorial de $factorial es $resultado <br />");
?>
Si se fija, el código anterior sigue un patrón muy evidente. El cálculo del factorial se realiza en un bucle que va disminuyendo el valor de una variable y multiplicando todos los valores entre sí. Aprovechando este patrón puede crear una función que realice el factorial del número x ahorrando líneas de código:
<?php
 function calcularFactorial ($numero)
 {
  $resultado = 1;
  for ($x = $numero; $x > 0; $x--)
  {
   $resultado = $resultado * $x;
  }
  return $resultado;
 }
 echo ("El factorial de 3 es " . calcularFactorial(3) . "<br />");
 echo ("El factorial de 4 es " . calcularFactorial(4) . "<br />");
 echo ("El factorial de 5 es " . calcularFactorial(5) . "<br />");
?>
Si comparamos los dos ejemplos, podemos llegar a la conclusión de que el segundo es mucho más legible y más sencillo de realizar. Como puede ver, la función  calcularFactorial( ) hace uso de la palabra reservada return , que es la encargada de devolver el valor que estamos solicitando cuando se invoca la función.

Funciones (2 de 3) PHP 5

Comentarios

Entradas populares de este blog

Ordenar cualquier array con SORT en JAVA

Modificadores de acceso (public, protected y private) JAVA

Calcular factorial de un numero en JAVA