Pular para o conteúdo principal

Questão de Programação — PHP — Quadrix 2025

ProgramaçãoPHP
Código
qg595087
Banca
Quadrix
Órgão
CFO
Ano
2025
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
Em relação às linguagens Java e PHP, julgue o item a seguir.PHP não permite a definição de funções anônimas, também conhecidas como funções de callback, e todas as funções precisam ser nomeadas explicitamente.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Funções anônimas em PHP

Gabarito: ERRADO. O PHP permite, sim, a definição de funções anônimas — também chamadas de closures ou lambdas — desde a versão 5.3 (2009), e elas são amplamente usadas como callbacks. A afirmação do item é duplamente incorreta: nega um recurso que existe e afirma que todas as funções precisam ser nomeadas, o que não é verdade.

O que são funções anônimas? São funções sem nome, definidas diretamente onde são usadas, geralmente atribuídas a uma variável ou passadas como argumento para outra função (callback). Em PHP, a sintaxe básica é $funcao = function($x) { return $x * 2; }; — repare no ponto e vírgula obrigatório após o fechamento da chave, pois é uma expressão, não uma declaração. Elas podem capturar variáveis do escopo externo com a palavra-chave use, formando closures, e podem ser armazenadas em arrays, retornadas por outras funções e usadas em funções de ordem superior como array_map, array_filter e usort.

O PHP também oferece a sintaxe de arrow functions (fn($x) => $x * 2) desde a versão 7.4, que é uma forma mais concisa de função anônima com captura automática de variáveis do escopo externo. Além disso, desde o PHP 7, existem classes anônimas (new class { ... }), reforçando que a linguagem abraça o paradigma funcional e a programação com callbacks.

A confusão que a banca explora aqui é clássica: o candidato que conhece apenas o básico do PHP (funções nomeadas com function nome() {}) pode achar que funções anônimas não existem. Mas a linguagem evoluiu e incorporou recursos funcionais modernos. O próprio manual oficial do PHP documenta as funções anônimas como um recurso nativo desde o PHP 5.3.

Guarde o critério decisivo: PHP suporta funções anônimas (closures/lambdas) desde a versão 5.3 — qualquer afirmação em contrário está errada. É exatamente nesse ponto que o item falha.

Item — ❌ ERRADO

A afirmação "PHP não permite a definição de funções anônimas" é falsa. O PHP permite desde a versão 5.3, com suporte a closures e lambdas, e a partir do 7.4 também arrow functions. A segunda parte — "todas as funções precisam ser nomeadas explicitamente" — também é falsa, pois funções anônimas são exatamente funções sem nome. O erro é duplo: nega um recurso existente e impõe uma regra que não existe.

PEGA ESSA DICA!

Para questões sobre recursos de linguagem, desconfie de afirmações absolutas com "não permite", "todas", "sempre". Linguagens modernas como PHP, JavaScript, Python e Java (a partir do 8) suportam funções anônimas/lambdas. Memorize a versão em que cada uma introduziu o recurso: PHP 5.3, JavaScript desde o início (funções de primeira classe), Python 2.2 (closures) e Java 8 (lambdas).

Gabarito: ERRADO

Link permanente: /questoes/qg595087