La función es un elemento dentro de la programación que permite ahorrar de escribir una y otra vez el mismo código. Para su uso escribiremos cada vez que se necesite el nombre que se asigna a la función.
Una función normal, no anónima, tiene la siguiente sintaxis: función nombre_de_la_función ($argumento) {//código de la función}
ejemplo de creación de una función en PHP
<?php $cadena = 'altruistas.org'; function convertir_a_cifrado ($argumento) { echo "<br>El hash sha1 de: '".$argumento."' es: <b>".sha1 ($argumento); } convertir_a_cifrado ($cadena); ?>
La función de PHP sha1 devuelve el hash sha1 de un string
Sin embargo en este artículo son las funciones sin nombre o anónimas las que interesa conocer y cuales son sus particularidades.
Ejemplo de función anónima
<?php $cadena= 'altruistas.org'; $funcion_anonima = function ($argumento) { echo "El hash sha1 de '".$argumento."' es: ".sha1 ($argumento); }; $funcion_anonima ("cadena"); ?>
Resultado: El hash sha1 de: ‘altruistas.org’ es: f7a52d818deb826833ae0ebf1c7c72d2ac9325bb
Una de las ventajas de esta tipo de función es que pueden utilizarse como funciones de devolución de llamada (callback) o como valores de variables. Para ver un ejemplo del uso de una función anónima como una función de devolución de llamada se va a describir un ejemplo con el uso de la función de PHP array_walk que, precisamente, toma como parámetros una tabla y una función callback. Esa función anónima va a ejecutarse para cada elemento de la tabla (array).
ejemplo uso de función anónima como callback
<?php $datos_tabla = array ('altruistas.org', 'radio.altruistas.org', 'revista.altruistas.org'); array_walk ($datos_tabla, function (&$item) { $item = sha1 ($item); }); var_dump ($datos_tabla); //muestra la tabla modificada ?>
Resultado: array(3) { [0]=> string(40) «f7a52d818deb826833ae0ebf1c7c72d2ac9325bb» [1]=> string(40) «b273c26d9590d627f96ed642137287778dac63ac» [2]=> string(40) «fcdc2435e950e3cfaa19857c3af8350d77a926d6» }