Resumo : neste tutorial, você aprenderá sobre as funções de seta do PHP e como usá-las de maneira eficaz.
Introdução às funções de seta do PHP
O PHP 7.4 introduziu as funções de seta que fornecem uma sintaxe mais concisa para as funções anônimas .
O seguinte ilustra a sintaxe básica para funções de seta:
fn (arguments) => expression;
Linguagem de código: JavaScript ( javascript )
Nesta sintaxe, uma função de seta
- Comece com a
fn
palavra-chave. - Pode ter apenas uma expressão e retornar esta expressão.
A função arrow é funcionalmente equivalente à seguinte função anônima:
function(arguments) { return expression; }
Linguagem de código: JavaScript ( javascript )
Ao contrário das funções anônimas, as funções de seta podem acessar automaticamente variáveis de seus escopos pais.
Exemplos de funções de seta PHP
Vejamos alguns exemplos de uso de funções de seta.
1) Atribuir uma função de seta a uma variável
O exemplo a seguir ilustra como atribuir uma função de seta a uma variável:
<?php
$eq = fn ($x, $y) => $x == $y;
echo $eq(100, '100'); // 1 (or true)
Linguagem de código: HTML, XML ( xml )
Como funciona.
- Primeiro, defina uma função de seta e atribua-a à variável $eq. A função de seta retorna verdadeiro se os dois argumentos forem iguais.
- Segundo, chame a função de seta por meio da variável $eq
2) Passe uma função de seta para um exemplo de função
O exemplo a seguir mostra como passar uma função de seta para a array_map()
função:
<?php
$list = [10, 20, 30];
$results = array_map(
fn ($item) => $item * 2,
$list
);
print_r($results);
Linguagem de código: HTML, XML ( xml )
Saída:
Array
(
[0] => 20
[1] => 40
[2] => 60
)
Linguagem de código: PHP ( php )
Neste exemplo, a array_map()
função aplica a função de seta a cada elemento do $list
array e retorna um novo array que inclui os resultados.
3) Retornar uma função de seta de uma função
O exemplo a seguir ilustra como retornar uma função de seta de uma função:
<?php
function multiplier($x)
{
return fn ($y) => $x * $y;
}
$double = multiplier(2);
echo $double(10); // 200
Linguagem de código: HTML, XML ( xml )
Como funciona.
- Primeiro, defina uma função chamada
multiplier()
que aceite um argumento e retorne uma função de seta. Como a função arrow pode acessar a variável de seu escopo pai, podemos usar o$x
parâmetro dentro da função arrow. - Segundo, chame a
multiplier()
função e atribua o valor retornado à$double
variável. O valor retornado damultiplier()
função é uma função, portanto, podemos chamá-lo através da$double
variável.
Resumo
- Uma função de seta fornece uma sintaxe mais curta para escrever uma função anônima curta.
- Uma função de seta começa com a palavra-chave fn e contém apenas uma expressão, que é o valor retornado da função.
- Uma função de seta tem acesso às variáveis em seu escopo pai automaticamente.