Arrow Functions
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 3 de 68.
Arrow functions, introduzidas no PHP 7.4, fornecem uma maneira mais concisa de escrever funções anônimas simples. Elas usam a palavra-chave fn em vez da sintaxe completa function, tornando seu código mais curto e limpo.
Aqui está como você cria uma arrow function:
<?php
$greeting = fn($name) => "Hello, " . $name . "!";
echo $greeting("Alice"); // Saída: Hello, Alice!
?>Observe as principais diferenças: arrow functions usam fn em vez de function, têm uma seta => apontando para a expressão e não precisam de chaves ou de uma instrução return para expressões simples.
A maior vantagem das arrow functions é que elas capturam automaticamente variáveis do escopo pai - nenhuma palavra-chave use é necessária:
<?php
$message = "Welcome";
$greeting = fn($name) => $message . ", " . $name . "!";
echo $greeting("Bob"); // Saída: Welcome, Bob!
?>Arrow functions são perfeitas para operações curtas e simples, onde a sintaxe tradicional de função anônima parece muito verbosa.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Desafio
FácilCrie uma arrow function que receba o nome de um produto como parâmetro e retorne um rótulo de produto formatado. A arrow function deve capturar o nome de uma categoria do escopo circundante.
Você receberá duas entradas: o nome da categoria e o nome do produto. Leia ambas as entradas, crie uma arrow function que capture a categoria e formate o rótulo do produto como "[Category] Product", chame a arrow function com o nome do produto e imprima o resultado.
Formato de entrada: Duas linhas - a primeira linha contém o nome da categoria, a segunda linha contém o nome do produto
Saída esperada: O rótulo do produto formatado no formato "[Category] Product"
Folha de consulta
Arrow functions usam a palavra-chave fn e fornecem uma sintaxe concisa para funções anônimas simples:
$greeting = fn($name) => "Hello, " . $name . "!";Principais recursos:
- Use
fnem vez defunction - A seta
=>aponta para a expressão - Não são necessárias chaves ou a instrução
returnpara expressões simples - Capturam automaticamente variáveis do escopo pai sem a palavra-chave
use
$message = "Welcome";
$greeting = fn($name) => $message . ", " . $name . "!";
echo $greeting("Bob"); // Saída: Welcome, Bob!Experimente você mesmo
<?php
// Ler a entrada
$category = trim(fgets(STDIN));
$product = trim(fgets(STDIN));
// TODO: Escreva seu código abaixo
// Crie uma arrow function que capture a categoria e formate o rótulo do produto
// Chame a arrow function e imprima o resultado
echo $result;
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica & Fluxo
1Funções Avançadas
Funções AnônimasClosures e 'use'Arrow FunctionsFunções de CallbackUsando 'call_user_func'Funções VariáveisPassagem por ReferênciaFunções RecursivasRecapitulação: Mix de Funções4Arrays Multidimensionais
Criando um Array 2DAcessando Elementos de um Array 2DModificando Elementos de um Array 2DIterando com Loops AninhadosArrays Associativos 2DRecapitulação: Exercício de Grade Simples2Manipulações Avançadas de Arrays
Adicionando com 'array_push'Removendo com 'array_pop'Adicionando com 'array_unshift'Removendo com 'array_shift'Mesclando Arrays IndexadosMesclando Arrays AssociativosExtraindo com 'array_slice'Valores com 'in_array'Chaves com 'array_search'Recapitulação: Exercício de Playlist3Ordenação de Arrays
Ordenar Arrays Indexados (Crescente)Ordenar Arrays Indexados (Decrescente)Ordenar Arrays Associativos por ValorOrdenar Arrays Associativos por ChaveOrdenação por Ordem NaturalOrdenação Personalizada com 'usort'Recapitulação: Ordenação de Leaderboard