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 variable functions oferecem outra maneira de chamar functions dinamicamente no PHP. Em vez de usar call_user_func(), você pode chamar diretamente uma function tratando uma variable que contém o nome da function como se ela própria fosse a function.

A syntax é simples: se você tiver uma variable contendo um function name, poderá chamar essa function adicionando parênteses à variable:

<?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 variable functions fornecem uma maneira limpa e intuitiva de executar código dinamicamente. Esse recurso é particularmente útil quando você precisa chamar diferentes functions 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

Create três functions: calculateArea, que recebe dois números (length e width) 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á three inputs: o nome da operation ("area", "perimeter" ou "diagonal"), o length e o width. Leia os três inputs, store o nome da função em uma variable, call essa função using a sintaxe de função variável com as duas medidas e exiba o result.

Formato de entrada: Três linhas — a primeira linha contém o nome da operation, a segunda linha contém o length (um número que pode conter casas decimais) e a terceira linha contém o width (um número que pode conter casas decimais).

Expected output: O result 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