Menu
Coddy logo textTech

Funções Variáveis

Parte da seção Lógica & Fluxo do Journey de PHP da Coddy. Lição 6 de 68.

As funções variáveis oferecem outra maneira de chamar funções dinamicamente em PHP. Em vez de usar call_user_func(), você pode chamar diretamente uma função tratando uma variável que contém o nome da função como se ela fosse a própria função.

A sintaxe é simples: se você tiver uma variável contendo o nome de uma função, poderá chamar essa função adicionando parênteses à variável:

<?php
function sayHello() {
    echo "Hello World!";
}

$functionName = "sayHello";
$functionName();  // Saída: Hello World!
?>

This funciona também com functions que aceitam parâmetros. Basta passar os argumentos dentro dos parênteses:

<?php
function greet($name) {
    echo "Hello, " . $name . "!";
}

$func = "greet";
$func("Alice");  // Saída: Hello, Alice!
?>

As funções armazenadas em variáveis oferecem uma maneira limpa e intuitiva de executar código dinamicamente. Esse recurso é particularmente útil quando você precisa chamar funções diferentes com base em condições ou na entrada do usuário, tornando seu código mais flexível e adaptável.

challenge icon

Desafio

Fácil

Crie três funções: calculateArea, que recebe dois números (comprimento e largura) e retorna o produto deles; calculatePerimeter, que recebe dois números e retorna o dobro da soma deles; e calculateDiagonal, que recebe dois números e retorna a raiz quadrada da soma de seus quadrados.

Você receberá três entradas: o nome da operação ("area", "perimeter" ou "diagonal"), o comprimento e a largura. Leia as três entradas, armazene o nome da função em uma variável, chame essa função usando a sintaxe de função armazenada em variável com as duas medidas e imprima o resultado.

Formato da entrada: Três linhas — a primeira linha contém o nome da operação, a segunda linha contém o comprimento (um número que pode conter casas decimais) e a terceira linha contém a largura (um número que pode conter casas decimais)

Saída esperada: O resultado do cálculo

Experimente você mesmo

<?php
// Ler as entradas
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));

// TODO: Crie as três funções aqui (calculateArea, calculatePerimeter, calculateDiagonal)

// TODO: Chame a função apropriada usando a sintaxe de função variável e armazene o resultado

// Exibir o resultado
echo $result;
?>
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo

Pratique por conta própria: Compilador de PHP online