Objetivos
        
    
    
    
        
Funções Anônimas e Arrow
    
    
        
            
                Função anônima são funções que não possuem nome sendo declaradas e atribuidas
                à uma variável. Esse tipo de função possue as mesmas características de funções vistas
                em PHP Básico: Funções.
            
            
                Funções arrow são funções anônimas, sem nome e sem palavra reservada function, 
                substituída por fn, que retornam valor. Essas também possuem as mesmas 
                características de funções vistas em 
                PHP Básico: Funções, com exceções.
            
            
                Nesta parte do tutorial vamos aprender a declarar e utilizar esses tipos de funções
                mencionados.
            
         
     
    
        
Função anônima
    
    
        
            
                Funções anônimas em PHP, como mencionado, são funçoes sem nome e que são declaradas 
                de acordo com a sintaxe abaixo: 
            
            Sintaxe
            
$variavel = function(lista_parametros)
{
    //corpo
    //retorno
};
            Onde
            function: palavra reservada identificar função
            Exemplo 1
            
<?php
  $funcao = function($val)//declaração e atribuição
  {
    echo $val,"\n";
  };
  
  $funcao(1); //chamada
  $funcao(1.99); //chamada 
  $funcao("uma string PHP"); //chamada
?>
            Saída
            1
1.99
uma string PHP
            
                Abaixo, um exemplo da declaração de uma função anônima com parâmetros e retorno:                 
            
            Exemplo 2
            
<?php
  $funcao = function(int $val):int
  {
    return $val*$val;
  };
  echo $funcao(2);
?>
            Saída
            4
         
     
    
        Função anônima como parâmetro/argumento e retorno
        
     
    
        
            
                O uso de funções anônimas como parâmetro/argumentos é feita da mesma forma como
                para outros tipos. Basta declarar um parâmetro, e ao invocar a função, passar uma 
                função anônima como argumento. 
            
            Exemplo 3
            
<?php
  
  //função principal que recebe função anônima como argumento
  function calculo($val1,$val2,$anonima)
  {
    $anonima($val1,$val2);
  }
  //função anônima para somar 2 números
  $funcao_anonima = function($val1,$val2)
  {
    echo $val1 + $val2;
  };
  //passando função anônima como argumento
  calculo(1,1,$funcao_anonima);
?>
            Saída
            2
            
                Para retornarmos uma função anônima, basta utilizarmos o a palavra return 
                como já foi feito com outros tipos de dados primitivos.
            
            Exemplo 4
            
<?php
function funcao() 
{
    $var = function($param)
    {
        echo $param;
    };
    return $var;
}
$retorno = funcao();
$retorno("uma string");
?>
            Saída
            2
         
     
    
    
        
            
                Expressões arrow são funções anônimas, sem nome e sem palavra reservada 
                function, substituída por fn, que podem receber argumentos e 
                retornar valor. A declaração de uma função arrow é feito como na sintaxe abaixo:
            
            Sintaxe
            
$variavel = fn(argumentos) => <expressao> ;
            Onde
            fn: Palavra reservada para declaração de função arrow.
argumentos: argumentos separados por (,). Não obrigatório
<expressao>: Uma expressão utilizando os argumentos. 
            Notas
            
                - Não podem conter comandos de decisão(exceto ?:), repetição ou escolha
 
                - Só podem ter uma expressão e um retorno
 
                - Podem ser usadas como parâmetro,argumento e retorno
 
            
            Exemplo 5
            
<?php
  $funcao = fn($a,$b) => $a + $b; //declaração
  echo $funcao(1,2); //chamada
?>
            Saída
            
3
            Exemplo 6
            
<?php
  $funcao = fn($a,$b) => ($a > 0) ? $a : $b;
  echo $funcao(1,0);
?>
            Saída
            
1
         
     
    
        Funções arrow como parâmetro,argumento e retorno
        
     
    
        
            
                O uso de funções arrow como parâmetro/argumentos é feita da mesma forma utilizada
                para outros tipos. Basta declarar um parâmetro normalmente e ao invocar a função, 
                passar uma função arrow como argumento. 
            
            Exemplo 7
            
<?php
  //função principal que recebe função arrow como argumento
  function calculo($val1,$val2,$arrow)
  {
    return $arrow($val1,$val2);
  }
  //função arrow para somar 2 números
  $arrow = fn($val1,$val2) => $val1 + $val2;
  //passando função anônima como argumento
  echo calculo(1,1,$arrow);
?>
            Saída
            2
            
                Para retornarmos uma função arrow, basta utilizarmos o a palavra return 
                como já foi feito com outros tipos.
            
            Exemplo 8
            
<?php
  function calculo(){
    $arrow = fn($val1,$val2) => $val1 + $val2;
    return $arrow;
  }
  $retorno = calculo();
  echo $retorno(1,1);
?>
            Saída
            2
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 21/08/2025 - revisão 3 - Ajustes: pontuais, sintaxes e targets de links
 
                - 21/09/2024 - revisão 2 - ajustes gramaticais pontuais e outros ajustes
 
                - 05/02/2024 - revisão 1 - correção em navegação e erros gramaticais
 
                - 20/09/2023 - versão inicial
 
            
         
     
    
            
            
                
                    
                    Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
                em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.