abstract
| - Podemos crear nuestras propias funciones. En primer lugar, hemos de declarar la lista de parámetros que recibirá la función. Éste es un sencillo ejemplo: function par_impar($numero){if($numero % 2 == 0){ print('par'); }else{ print('impar'); } } Se trata de una función que, dado un número, escribr una cadena de texto diciendo si el número es par o impar. Podemos utilizarla asi: function par_impar($numero){if($numero % 2 == 0){ printf('par'); }else{ print('impar'); } } par_impar(7); ?> Los parámetros pueden pasarse por valor y por referencia. La primera es la opción predeterminada: la función recibe una copia del parámetro pasado, así que aunque sea modificado dentro de la función dicho cambio sólo tendrá efecto dentro del cuerpo de la función. Por el contrario, si queremos que los parámetros que pasemos a la función puedan ser modificados, y que esos cambios sobrevivan a la llamada de la función, hemos de indicarle a PHP que ese parámetro se va a pasar por referencia. El siguiente es un ejemplo de función en la que los parámetros se pasan por valor: function incrementar($numero){$numero++; } $i = 7; incrementar($i); print($i); ?> Como puede comprobar, el incremento no afecta al valor de la variable pasada a la función. Pero esto cambia si el parámetro se pasa por referencia: function incrementar(&$numero){$numero++; } $i = 7; incrementar($i); print($i); ?> Es posible asociar valores predeterminados a los parámetros para los casos en los que no se pase ningún valor a la función: function par_impar($numero){if($numero % 2 == 0){ printf('par'); }else{ print('impar'); } } par_impar(); ?> Si intenta cargar la página anterior, PHP le avisará de que no se ha pasado argumento alguno a la función. Pero esto puede evitarse con sólo modificar la función: function par_impar($numero = 0){if($numero % 2 == 0){ printf('par'); }else{ print('impar'); } } par_impar(); ?> También es posible crear funciones con un número de parámetros variable. Para ello, hemos de crear una función sin parámetro alguno y luego ayudarnos de las funciones de PHP func_num_args(), func_get_arg() y func_get_args(). Gracias al uso de estas funciones podemos crear con mucha facilidad una función que recibe una lista de valores y muestra en la página el resultado de sumarlos todos: function sumatorio(){$parametros = func_num_args(); $res = 0; for($i = 0; $i < $parametros; $i++){ $res += func_get_arg($i); } printf($res); } sumatorio(3, 14, 15); ?> Utilizando la función func_get_args(), que devuelve una matriz con todos los argumentos, y el bucle foreach podemos simplificar bastante el código: function sumatorio(){$res = 0; foreach(func_get_args() as $param){ $res += $param; } printf($res); } sumatorio(3, 14, 15); ?>
|