Funções de seta PHP

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 fnpalavra-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 $listarray 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); // 200Linguagem 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 $xparâmetro dentro da função arrow.
  • Segundo, chame a multiplier()função e atribua o valor retornado à $doublevariável. O valor retornado da multiplier()função é uma função, portanto, podemos chamá-lo através da $doublevariá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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *