Da trilha de PHP Este conceito ainda não saiu como card do dia. ir para o card de hoje

PHP Controle de fluxo Básico

Controle de fluxo

O controle de fluxo em PHP permite que o programa tome decisões e repita tarefas. As estruturas condicionais if, elseif e else executam blocos conforme condições booleanas. O switch compara uma expressão com vários casos, enquanto o match (PHP 8+) é uma alternativa mais moderna e segura, que retorna um valor e faz comparação estrita (===).

Os loops for, while, do-while e foreach repetem instruções. O for é ideal quando se sabe o número de iterações; o while verifica a condição antes; o do-while executa pelo menos uma vez; e o foreach percorre arrays de forma simples.

Combinar essas estruturas permite criar lógicas complexas, como validar dados, processar listas e gerar relatórios. Neste card, você verá exemplos práticos e exercícios para dominar cada uma.

Pontos-chave

  • if/elseif/else executam blocos condicionais com base em expressões booleanas.
  • switch compara uma variável com múltiplos case e usa break para evitar fall-through.
  • match (PHP 8+) retorna um valor e usa comparação estrita, sem necessidade de break.
  • for, while, do-while e foreach repetem código; escolha o loop conforme a situação.
  • foreach é a forma mais idiomática de percorrer arrays em PHP.
controle_fluxo.php
<?php
// Exemplo de controle de fluxo em PHP

$nota = 7.5;

// if/elseif/else
if ($nota >= 7) {
    echo "Aprovado\n";
} elseif ($nota >= 5) {
    echo "Recuperação\n";
} else {
    echo "Reprovado\n";
}

// switch
$dia = "segunda";
switch ($dia) {
    case "segunda":
        echo "Início da semana\n";
        break;
    case "sexta":
        echo "Fim de semana!\n";
        break;
    default:
        echo "Dia comum\n";
}

// match (PHP 8+)
$codigo = 2;
$mensagem = match ($codigo) {
    1 => "Um",
    2 => "Dois",
    default => "Outro",
};
echo $mensagem . "\n";

// for
echo "Contagem: ";
for ($i = 1; $i <= 5; $i++) {
    echo $i . " ";
}
echo "\n";

// while
$contador = 3;
while ($contador > 0) {
    echo "Faltam $contador\n";
    $contador--;
}

// do-while
$j = 1;
do {
    echo "Executa pelo menos uma vez: $j\n";
    $j++;
} while ($j <= 2);

// foreach
$frutas = ["maçã", "banana", "laranja"];
foreach ($frutas as $fruta) {
    echo "Fruta: $fruta\n";
}

Exercícios

  1. 1
    Fácil

    Classificação de idade

    Escreva um programa que receba uma idade (inteiro) e imprima a categoria: Criança (0-12), Adolescente (13-17), Adulto (18-64) ou Idoso (65+). Use if, elseif e else.

    Resolver
  2. 2
    Médio

    Menu com switch e loop

    Crie um menu que exiba opções e leia a escolha do usuário (simule com um array de entradas). Use switch para tratar cada opção e um loop while para repetir até que a opção 'sair' seja escolhida. As opções são: 1 - Dizer Olá, 2 - Mostrar data, 3 - Sair.

    Resolver
  3. 3
    Desafio

    Processamento de notas com loops e match

    Dado um array de notas (0 a 10), calcule a média, classifique cada nota com match (A: 9-10, B: 7-8.9, C: 5-6.9, D: 0-4.9) e imprima um relatório. Use foreach para percorrer as notas e match para a classificação. No final, imprima a média e a situação da turma: Aprovada se média >= 7, Recuperação se média >= 5, senão Reprovada.

    Resolver

Continue estudando