← PHP EspañolChapter 05 of 13

Funciones

## Objetivos de Aprendizaje - Crear funciones definidas por el usuario - Comprender parámetros y valores de retorno - Trabajar con listas de argumentos de longitud variable - Dominar funciones anónimas y closures - Usar funciones flecha ## Definiendo Funciones ### Función Básica ```php ``` ### Función con Parámetros ```php ``` ### Valores de Retorno ```php ``` ### Múltiples Valores de Retorno (vía Arreglo) ```php ``` ## Parámetros ### Valores de Parámetros por Defecto ```php ``` ### Argumentos Posicionales vs Nombrados (PHP 8) ```php ``` ### Declaraciones de Tipo ```php ``` ### Tipos Anulables ```php ``` ### Funciones Void ```php ``` ### Tipo Mixed (PHP 8) ```php ``` ## Argumentos de Longitud Variable ### func_get_args() ```php ``` ### Operador Spread (...) ```php ``` ### Args Fijos + Variables ```php ``` ## Tipos de Retorno ### Declaración ```php ``` ### Tipos Unión (PHP 8) ```php ``` ## Funciones Anónimas ### Anónima Básica ```php ``` ### Usando use() ```php ``` ### Cambiando Variable Externa ```php ``` ## Funciones Flecha (PHP 7.4+) ### Función Flecha Básica ```php $x * 2; echo $double(5); // 10 ?> ``` ### Flecha con Múltiples Args ```php $a + $b; echo $add(3, 4); // 7 ?> ``` ### Flecha con Múltiples Expresiones ```php $x * $factor + ($factor > 1 ? 5 : 0); echo $calculator(3); // 11 ?> ``` ### Flecha vs Anónima ```php $x * $factor; // Anonymous - must use 'use' explicitly $anon = function($x) use ($factor) { return $x * $factor; }; ?> ``` ## Tipo Callable ### Usando Funciones como Argumentos ```php ``` ### Declaraciones de Tipo para Callables ```php print("Hi!\n"), 3); ?> ``` ## Funciones Callback ### array_map Callback ```php ``` ### array_filter Callback ```php ``` ### usort con Callback ```php "Alice", "age" => 25], ["name" => "Bob", "age" => 30], ["name" => "Charlie", "age" => 20] ]; usort($people, function($a, $b) { return $a["age"] <=> $b["age"]; }); print_r($people); // Sorted by age ?> ``` ## Recursión ### Factorial ```php ``` ### Fibonacci ```php ``` ## Funciones Variables ### Llamadas a Funciones Dinámicas ```php ``` ### Variantes de Métodos ```php $method(); // Calls $obj->myMethod() ?> ``` ## Referencia de Funciones Integradas ### Funciones Matemáticas ```php ``` ### Funciones de Cadena ```php ``` ## Resumen - Define funciones con `function name() { }` - Parámetros con valores por defecto: `function($x = 10)` - Valores de retorno: `return $value;` - Declaraciones de tipo para parámetros y retornos - Args variables: `...$args` (operador spread) - Anónimas: `$func = function() { }` - Funciones flecha: `fn($x) => $x * 2` - Usa `use($var)` para capturar variables externas en closures - Usa `&` para modificar variables externas en closures - Recursión: función se llama a sí misma - Las funciones son de primera clase: pueden asignarse a variables

Comments

Comments powered by Giscus

To enable comments, add your Giscus embed code here.

Learn more about Giscus →