Pular para o conteúdo
Arquivo vivo · 100% gratuito · conteúdo versionado e revertível
Instituto Lúcia

Programação · Ensino médio · aula 5 de 5 · ~2 min de leitura

Funções em PHP

Como criar funções, declarar os tipos do que entra e do que sai, e por que isso evita erros.

Esta aula ainda aguarda revisão da comunidade. Achou um erro? Sugira uma correção.

Definir e chamar

<?php
function saudacao(string $nome): void
{
    echo "Bom dia, $nome!\n";
}

saudacao("Marta");
saudacao("João");

Testar este código →

  • function cria a função;
  • string $nome é um parâmetro, com o tipo declarado;
  • : void avisa que a função não devolve nada (ela só mostra algo).

A função só é executada quando é chamada, o que aqui acontece duas vezes.

Devolvendo um resultado

return entrega o valor a quem chamou. A partir daí ele pode ser guardado, somado, comparado:

<?php
function area_retangulo(float $largura, float $altura): float
{
    return $largura * $altura;
}

$sala = area_retangulo(4, 5);
$quarto = area_retangulo(3, 3);
echo "Área total: ", $sala + $quarto, " m²\n";

Testar este código →

Regra prática: função que calcula devolve com return; quem decide o que mostrar na tela é o código que a chamou.

Por que declarar os tipos

O PHP não obriga a declarar tipos, mas vale a pena. Com eles, um engano aparece na hora, com uma mensagem clara, em vez de produzir um resultado errado em silêncio:

<?php
function dobro(int $n): int
{
    return $n * 2;
}

echo dobro(21), "\n";
echo dobro("abc");

Testar este código →

A segunda chamada é interrompida com um TypeError: a função esperava um número inteiro e recebeu um texto.

O que mostra echo dobro(dobro(3)); usando a função acima?

Valor padrão

<?php
function preco_final(float $valor, float $desconto = 0): float
{
    return $valor - $valor * $desconto / 100;
}

echo preco_final(200), "\n";
echo preco_final(200, 10), "\n";

Testar este código →

Se o segundo valor não for informado, vale o padrão (zero).

Escopo: cada função na sua mesa

Diferente de outras linguagens, uma função em PHP não enxerga as variáveis de fora:

<?php
$taxa = 10;

function com_taxa(float $valor, float $taxa): float
{
    return $valor + $valor * $taxa / 100;
}

echo com_taxa(50, $taxa);

Testar este código →

O valor de $taxa entra na função porque foi passado como parâmetro. É o jeito certo: a função deixa claro tudo de que precisa.

Um exemplo completo

<?php
function media(array $valores): float
{
    return array_sum($valores) / count($valores);
}

function situacao(float $nota): string
{
    return $nota >= 6 ? "aprovado" : "recuperação";
}

$notas = [7.5, 4.0, 6.5];
$m = media($notas);
echo "Média ", number_format($m, 1, ","), ": ", situacao($m), "\n";

Testar este código →

Cada função faz uma coisa só e tem um nome que explica o que é.

Para praticar

  1. Escreva eh_par(int $n): bool.
  2. Escreva maior(float $a, float $b): float sem usar max.
  3. Escreva formata_reais(float $valor): string, que devolve o valor no formato R$ 1.234,50.

Teste o que você aprendeu

  1. 1. Qual palavra cria uma função em PHP?

  2. 2. Na declaração function area(float $l, float $a): float, o que significa o último float?

  3. 3. Uma variável criada fora da função pode ser usada dentro dela, sem mais nada?

Fontes desta aula

Por Instituto Lúcia · Última alteração em 08/10/2026 · 1 versão guardada · Licença CC BY-SA 4.0

Sugerir correçãoTexto puroDenunciar