Aula 04 - Estruturas Condicionais - if else e elseif.

article featured image

Mas saber que uma condição é verdadeira ou falsa não é suficiente.

Imagine que estamos a desenvolver uma loja online. Se existir stock, queremos apresentar "Produto disponível". Caso contrário, queremos apresentar "Produto esgotado".

Ou imagine um sistema de classificações. Se a média do aluno for igual ou superior a 10 valores, queremos apresentar "Aprovado". Caso contrário, queremos apresentar "Não aprovado".

É aqui que entram as estruturas condicionais.

Nesta aula vamos aprender a utilizar if, else e elseif para fazer com que os nossos programas consigam tomar decisões e executar instruções diferentes dependendo das condições existentes.

 

1. O que é uma estrutura condicional?

Uma estrutura condicional permite executar determinado código apenas quando uma condição é verdadeira.

Na vida real fazemos isto constantemente:

Se estiver a chover, levo guarda-chuva.

Em programação podemos representar esta decisão da seguinte forma:

O PHP utiliza principalmente a estrutura if para representar este tipo de decisão.

 

2. A estrutura if

if significa:

se

A estrutura básica é:

if (condicao) {
    // Instructions executed when the condition is true
}

Por exemplo:

$idade = 20;

if ($idade >= 18) {
    echo "É maior de idade.";
}

O PHP verifica:

$idade >= 18

Como:

20 >= 18 → true

a instrução existente dentro do if é executada.

Resultado:

É maior de idade.

 

3. Como funciona o if?

Podemos representar o funcionamento assim:

Se a condição for false, o código existente dentro do if não é executado.

Por exemplo:

$idade = 16;

if ($idade >= 18) {
    echo "É maior de idade.";
}

A comparação produz:

16 >= 18 → false

Por isso:

echo "É maior de idade.";

não será executado.

Neste exemplo, a página não apresenta qualquer mensagem.

 

4. As chavetas { }

Observe novamente:

if ($idade >= 18) {
    echo "É maior de idade.";
}

As chavetas:

{
}

delimitam o bloco de instruções associado ao if.

Podemos ter várias instruções:

if ($idade >= 18) {
    echo "

Acesso permitido

";
    echo "

O utilizador é maior de idade.

";
    echo "

Pode continuar.

";
}

 

Se a condição for verdadeira, todas as instruções existentes entre { e } são executadas.

 

5. A importância da indentação

Compare:

if ($idade >= 18) {
echo "Acesso permitido";
echo "Pode continuar";
}

com:

if ($idade >= 18) {
    echo "Acesso permitido";
    echo "Pode continuar";
}

Os dois exemplos podem funcionar, mas o segundo é muito mais fácil de compreender.

A indentação permite identificar visualmente quais as instruções que pertencem à condição.

À medida que os programas crescerem, isto tornar-se-á ainda mais importante.

 

6. if com variáveis booleanas

Nem todas as condições precisam de fazer uma comparação.

Na aula anterior vimos o tipo:

bool

Considere:

$disponivel = true;

Podemos escrever:

if ($disponivel) {
    echo "Produto disponível.";
}

Como $disponivel contém true, o código é executado.

Se tivermos:

$disponivel = false;

a mensagem não será apresentada.

 

7. A estrutura if...else

Muitas vezes queremos executar uma ação quando a condição é verdadeira e outra ação quando é falsa.

Utilizamos:

if (condicao) {    // Executed if true} else {    // Executed if false}

Por exemplo:

$idade = 16;

if ($idade >= 18) {
    echo "É maior de idade.";
} else {
    echo "É menor de idade.";
}

Neste caso:

16 >= 18 → false

por isso é executado o bloco do else.

Resultado:

É menor de idade.

 

8. Representação do if...else

Podemos pensar desta forma:

O programa escolhe um dos dois caminhos.

Nunca executa os dois.

 

9. Exemplo — Stock de um produto

Imagine uma loja online:

$produto = "Teclado Gaming";
$stock = 8;

echo "<h1>$produto</h1>";

if ($stock > 0) {
    echo "<p>Produto disponível.</p>";
} else {
    echo "<p>Produto esgotado.</p>";
}

Como:

8 > 0 → true

será apresentado:

Produto disponível.

Agora alteramos:

$stock = 0;

Temos:

0 > 0 → false

Resultado:

Produto esgotado.

A estrutura da página não mudou.

Mudaram os dados e o programa tomou uma decisão diferente.

 

10. A estrutura elseif

Nem sempre existem apenas duas possibilidades.

Imagine uma classificação:

18 ou mais → Excelente14 a 17    → Bom10 a 13    → Suficientemenos de 10 → Insuficiente

Aqui precisamos de testar várias condições.

Podemos utilizar:

if (condicao1) {    // ...} elseif (condicao2) {    // ...} else {    // ...}

Exemplo:

$nota = 16;

if ($nota >= 18) {
    echo "Excelente";
} elseif ($nota >= 14) {
    echo "Bom";
} elseif ($nota >= 10) {
    echo "Suficiente";
} else {
    echo "Insuficiente";
}

Resultado:

Bom

 

11. Como funciona o elseif?

É importante perceber que as condições são verificadas pela ordem em que aparecem.

Para:

$nota = 16;

o PHP começa por:

$nota >= 18 ?

Resultado:

false

Avança:

$nota >= 14 ?

Resultado:

true

Executa:

echo "Bom";

e termina esta estrutura condicional.

Não precisa de testar:

$nota >= 10