En este tema, aprenderemos cómo definir y utilizar parámetros en funciones, así como cómo devolver valores desde una función en PHP. Estos conceptos son fundamentales para escribir código modular y reutilizable.
Parámetros de Función
Los parámetros son variables que se pasan a una función para que esta pueda utilizarlas en su ejecución. Los parámetros se definen en la declaración de la función y se pasan cuando se llama a la función.
Definiendo Parámetros
Para definir parámetros en una función, se colocan dentro de los paréntesis en la declaración de la función. Veamos un ejemplo:
<?php
function saludar($nombre) {
    echo "Hola, $nombre!";
}
saludar("Juan"); // Salida: Hola, Juan!
?>En este ejemplo, $nombre es un parámetro de la función saludar. Cuando llamamos a saludar("Juan"), el valor "Juan" se pasa a la función y se utiliza dentro de ella.
Parámetros por Defecto
PHP permite definir valores por defecto para los parámetros. Si no se proporciona un valor al llamar a la función, se utilizará el valor por defecto.
<?php
function saludar($nombre = "Invitado") {
    echo "Hola, $nombre!";
}
saludar(); // Salida: Hola, Invitado!
saludar("Ana"); // Salida: Hola, Ana!
?>En este caso, si no se proporciona un valor para $nombre, se utilizará "Invitado".
Parámetros por Referencia
En PHP, también podemos pasar parámetros por referencia, lo que significa que cualquier cambio realizado en el parámetro dentro de la función afectará a la variable original.
<?php
function incrementar(&$numero) {
    $numero++;
}
$valor = 5;
incrementar($valor);
echo $valor; // Salida: 6
?>El símbolo & antes del parámetro $numero indica que se está pasando por referencia.
Valores de Retorno
Las funciones en PHP pueden devolver valores utilizando la palabra clave return. Esto permite que la función envíe un valor de vuelta al código que la llamó.
Devolviendo un Valor
Veamos un ejemplo de una función que devuelve un valor:
<?php
function sumar($a, $b) {
    return $a + $b;
}
$resultado = sumar(3, 4);
echo $resultado; // Salida: 7
?>En este ejemplo, la función sumar devuelve la suma de $a y $b. El valor devuelto se almacena en la variable $resultado.
Devolviendo Múltiples Valores
PHP no permite devolver múltiples valores directamente, pero podemos devolver un array que contenga los valores deseados.
<?php
function operaciones($a, $b) {
    return array(
        'suma' => $a + $b,
        'resta' => $a - $b,
        'multiplicacion' => $a * $b,
        'division' => $a / $b
    );
}
$resultados = operaciones(10, 2);
echo "Suma: " . $resultados['suma'] . "\n"; // Salida: Suma: 12
echo "Resta: " . $resultados['resta'] . "\n"; // Salida: Resta: 8
echo "Multiplicación: " . $resultados['multiplicacion'] . "\n"; // Salida: Multiplicación: 20
echo "División: " . $resultados['division'] . "\n"; // Salida: División: 5
?>En este ejemplo, la función operaciones devuelve un array con los resultados de varias operaciones matemáticas.
Ejercicios Prácticos
Ejercicio 1: Función de Saludo Personalizado
Crea una función llamada saludoPersonalizado que acepte dos parámetros: $nombre y $horaDelDia. La función debe devolver un saludo personalizado basado en la hora del día.
<?php
function saludoPersonalizado($nombre, $horaDelDia) {
    if ($horaDelDia < 12) {
        return "Buenos días, $nombre!";
    } elseif ($horaDelDia < 18) {
        return "Buenas tardes, $nombre!";
    } else {
        return "Buenas noches, $nombre!";
    }
}
echo saludoPersonalizado("Carlos", 10); // Salida: Buenos días, Carlos!
echo saludoPersonalizado("Ana", 15); // Salida: Buenas tardes, Ana!
echo saludoPersonalizado("Luis", 20); // Salida: Buenas noches, Luis!
?>Ejercicio 2: Función de Cálculo de Área
Crea una función llamada calcularAreaRectangulo que acepte dos parámetros: $ancho y $alto. La función debe devolver el área del rectángulo.
<?php
function calcularAreaRectangulo($ancho, $alto) {
    return $ancho * $alto;
}
echo calcularAreaRectangulo(5, 10); // Salida: 50
echo calcularAreaRectangulo(7, 3); // Salida: 21
?>Ejercicio 3: Función de Conversión de Temperatura
Crea una función llamada convertirCelsiusAFahrenheit que acepte un parámetro: $celsius. La función debe devolver la temperatura en grados Fahrenheit.
<?php
function convertirCelsiusAFahrenheit($celsius) {
    return ($celsius * 9/5) + 32;
}
echo convertirCelsiusAFahrenheit(0); // Salida: 32
echo convertirCelsiusAFahrenheit(100); // Salida: 212
?>Conclusión
En esta sección, hemos aprendido cómo definir y utilizar parámetros en funciones, así como cómo devolver valores desde una función en PHP. Estos conceptos son esenciales para escribir código modular y reutilizable. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión. En el próximo tema, exploraremos el ámbito de las variables en PHP.
Curso de Programación en PHP
Módulo 1: Introducción a PHP
- ¿Qué es PHP?
- Configuración del Entorno de Desarrollo
- Tu Primer Script en PHP
- Sintaxis y Variables en PHP
- Tipos de Datos en PHP
Módulo 2: Estructuras de Control
Módulo 3: Funciones
- Definiendo y Llamando Funciones
- Parámetros de Función y Valores de Retorno
- Ámbito de Variables
- Funciones Anónimas y Closures
Módulo 4: Arrays
Módulo 5: Trabajando con Formularios
- Manejo de Datos de Formularios
- Validación de Formularios
- Subida de Archivos
- Seguridad en Formularios
Módulo 6: Trabajando con Archivos
- Lectura y Escritura de Archivos
- Funciones de Manejo de Archivos
- Permisos de Archivos
- Funciones de Directorio
Módulo 7: Programación Orientada a Objetos (POO)
- Introducción a la POO
- Clases y Objetos
- Propiedades y Métodos
- Herencia
- Interfaces y Clases Abstractas
- Traits
Módulo 8: Trabajando con Bases de Datos
- Introducción a las Bases de Datos
- Conectando a una Base de Datos MySQL
- Realizando Operaciones CRUD
- Usando PDO para la Interacción con la Base de Datos
- Seguridad en Bases de Datos
Módulo 9: Técnicas Avanzadas de PHP
- Manejo de Errores y Excepciones
- Sesiones y Cookies
- Expresiones Regulares
- Trabajando con JSON y XML
- PHP y Servicios Web
Módulo 10: Frameworks de PHP y Mejores Prácticas
- Introducción a los Frameworks de PHP
- Empezando con Laravel
- Arquitectura MVC
- Mejores Prácticas en el Desarrollo de PHP
- Pruebas y Depuración
