Funciones y Parámetros
Las funciones en PHP agrupan código reutilizable. Se declaran con function nombreFuncion($parametros) { return $resultado; }. Los parámetros pueden tener valores por defecto: function saludar($nombre, $saludo = "Hola") permite llamar la función con o sin el segundo parámetro. PHP 8 añadió argumentos nombrados: saludar(nombre: "Ana", saludo: "Hey") que permite pasar argumentos en cualquier orden, muy útil para funciones con muchos parámetros opcionales.
PHP tiene varios tipos de funciones compactas. Las funciones anónimas (closures) se pueden asignar a variables: $doble = function($n) { return $n * 2; }. Las arrow functions (PHP 7.4+) con fn($n) => $n * 2 son aún más concisas y capturan automáticamente las variables del contexto externo sin necesitar use.
Las funciones variádicas con ...$args aceptan cualquier número de argumentos adicionales. El paso por referencia con &$variable modifica la variable original dentro de la función.
<?php
// Función con tipos (PHP 7+)
function saludar(string $nombre): string {
return "¡Hola, $nombre!";
}
echo saludar("Ana"); // ¡Hola, Ana!
// Parámetros por defecto
function crear_usuario(
string $nombre,
int $edad = 18,
string $rol = "usuario"
): array {
return compact("nombre", "edad", "rol");
}
$u = crear_usuario("Bob"); // edad=18, rol=usuario
// Tipo nullable
function buscar(string $id): ?array {
if ($id === "1") return ["id" => 1, "nombre" => "Ana"];
return null;
}
// Funciones variádicas
function sumar(int ...$numeros): int {
return array_sum($numeros);
}
echo sumar(1, 2, 3, 4, 5); // 15
// Pasar por referencia
function incrementar(int &$valor, int $cant = 1): void {
$valor += $cant;
}
$x = 10;
incrementar($x, 5);
echo $x; // 15
// Closures (funciones anónimas)
$multiplicar = function(int $a, int $b): int {
return $a * $b;
};
echo $multiplicar(3, 4); // 12
// Arrow functions (PHP 7.4+)
$cuadrado = fn($n) => $n * $n;
echo $cuadrado(5); // 25
// Funciones como argumentos
$resultado = array_map(fn($n) => $n * 2, [1, 2, 3]);
// [2, 4, 6]
Practica esta lección
Resuelve los ejercicios del curso de PHP en la app, gratis y con corrección automática.
Empezar a practicar