Funciones anónimas en PHP

Funciones anónimas en PHP

¡Hola, bienvenidos y bienvenidas! Dando continuidad al curso de PHP 8 nivel básico, Hoy veremos lo que son las funciones anónimas en PHP 8.

En la anterior clase vimos lo que son las funciones en PHP y sus características, ahora veremos una característica poderosa que nos ofrece PHP como son las funciones anónimas.

¡Empecemos!

¿Qué son las funciones anónimas en PHP?

Las funciones anónimas, también conocidas como “closures” o “funciones lambda”, son una característica poderosa de PHP que te permite definir funciones sin necesidad de darles un nombre explícito. Las funciones anónimas son útiles cuando necesitas crear pequeñas y simples funciones que se usarán en un contexto específico, como argumentos de otras funciones o para trabajar con arrays y estructuras de datos.

La sintaxis para definir una función anónima en PHP 8 es la siguiente:

$nombreFuncionAnonima = function (parámetros) {
    // Bloque de código de la función anónima
    // Puede realizar operaciones y devolver un resultado si es necesario
};

Ejemplo de funciones anónimas en PHP

Ahora haremos algunos ejemplos. En primer lugar, vamos a crear el archivo funciones_anonimas.php en el directorio de nuestro proyecto. Para ir probando los ejemplos abrimos nuestro navegador, en la ruta localhost:8080/curso_php8/funciones_anonimas.php.

Realizaremos los mismos ejemplos que la anterior clase funciones en PHP 8, esta vez utilizando funciones anónimas.

Función para sumar dos números

Por ejemplo, crearemos una función para sumar dos números y retornar el resultado obtenido.

$sumar = function ($num1, $num2) {
    return $num1 + $num2;
};

Función para imprimir la raíz cuadrada de un número

Por ejemplo, crearemos una función que imprima la raíz cuadrada de un número, el número será pasado como parámetro de la función.

$raizCuadrada = function ($numero){
    echo "La raiz cuadra de ". $numero . " es: " . sqrt($numero) . "<br>";
};

Función para imprimir tipo de cambio de una moneda

Veamos otro ejemplo, esta vez vamos a crear una función que retorne el tipo de cambio de una moneda local en su equivalente en dólares norteamericanos. Primeramente, crearemos la función donde le pasamos dos parámetros, el primero el monto y como segundo parámetro la  moneda local.

$MontoEnDolares = function ($monto, $moneda){
    $resultado = 0;
    switch ($moneda){
        case 'Bolivianos BOB':
            $resultado = $monto * 0.14;
            break;
        case 'Peso mexicano MXN':
            $resultado = $monto * 0.48;
            break;
        case 'Peso colombiano COP':
            $resultado = $monto * 0.00026;
            break;
        case 'Sol peruano PEN':
            $resultado = $monto * 0.25;
            break;
        case 'Peso argentino ARS':
            $resultado = $monto * 0.0098;
            break;
        case 'Bolivar venezolano VES':
            $resultado = $monto * 0.000002;
            break;
        case 'Peso chileno':
            $resultado = $monto * 0.0012;
            break;
        case 'Euro EUR':
            $resultado = $monto * 1.13;
            break;
    }
    echo $monto . " " . $moneda . " es igual a: " . $resultado . " Dolar norteamericano <br>";
};

Para invocar una función anonima en PHP, simplemente se escribe el nombre de la función seguido de paréntesis que contienen los valores de los argumentos.

$resultado = $sumar(5, 3);
echo "El resultado de la suma es: " . $resultado;
$raizCuadrada(9);
$raizCuadrada(16);
$MontoEnDolares(100, "Bolivianos BOB");
$MontoEnDolares(100, "Peso mexicano MXN");

Vemos los resultados en el navegador.

Ejercicios de la clase

1.- Crear una función anónima que calcule el factorial de un número.

2.- Crear una función anónima que permita calcular la velocidad envase al tiempo y la distancia recorrido por un disparo de proyectil.

Hasta aquí el tutorial de hoy funciones anónimas en PHP 8, si tiene alguna consulta puedes dejarnos un comentario o si quieres saber más acerca de este tema puedes visitar el sitio oficial de PHP. En la próxima clase empezamos con lo que es la Programación orientada a objetos en PHP.

Saludos y éxitos.

Victor Peña

Victor Peña

Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *