Programação · Ensino médio · aula 3 de 5 · ~2 min de leitura
Condições e laços em PHP
if, elseif e else para decidir; while, for e foreach para repetir.
Esta aula ainda aguarda revisão da comunidade. Achou um erro? Sugira uma correção.
Decidir com if
<?php
$idade = 17;
if ($idade >= 16) {
echo "Pode votar.";
} else {
echo "Ainda não pode votar.";
}
Diferenças em relação ao que você viu em lógica:
- a condição vai entre parênteses;
- o bloco vai entre chaves;
- o recuo não é obrigatório, mas mantenha-o: código sem recuo é difícil de ler.
Para mais de dois caminhos, use elseif. O PHP testa de cima para baixo e executa só o primeiro bloco verdadeiro:
<?php
$nota = 7.5;
if ($nota >= 9) {
echo "Excelente";
} elseif ($nota >= 6) {
echo "Aprovado";
} elseif ($nota >= 4) {
echo "Recuperação";
} else {
echo "Reprovado";
}
Operadores lógicos
| Operador | Significa |
|---|---|
&& | e: as duas condições precisam ser verdadeiras |
|| | ou: basta uma |
! | não: inverte |
<?php
$idade = 20;
$tem_titulo = true;
if ($idade >= 18 && $tem_titulo) {
echo "Pode votar hoje.";
}
Repetir com while
<?php
$contador = 1;
while ($contador <= 5) {
echo $contador, "\n";
$contador++;
}
$contador++ soma 1 à variável. Sem essa linha, a condição nunca ficaria falsa: seria um laço infinito.
Repetir com for
O for reúne em uma linha as três partes de um laço com contador: começo; condição; passo.
<?php
for ($i = 1; $i <= 10; $i++) {
echo "7 x $i = " . (7 * $i) . "\n";
}
Quais valores este laço mostra? for ($i = 0; $i < 3; $i++) { echo $i; }
Uma primeira olhada no foreach
Para percorrer uma lista de valores (um array, assunto da próxima aula), o PHP tem o foreach:
<?php
$frutas = ["uva", "caju", "manga"];
foreach ($frutas as $fruta) {
echo "- $fruta\n";
}
A cada volta, $fruta recebe um item da lista.
break e continue
break sai do laço; continue pula para a próxima volta:
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i === 4) {
continue;
}
if ($i === 8) {
break;
}
echo $i, " ";
}
Saem 1 2 3 5 6 7.
Para praticar
- Dado um número em uma variável, diga se ele é par ou ímpar.
- Mostre a tabuada do 9.
- Some os números de 1 a 100 com um laço e mostre o total (deve dar 5050).
Teste o que você aprendeu
1. Em PHP, o que delimita o bloco de um if?
2. Quantas vezes o bloco de for ($i = 1; $i <= 3; $i++) é executado?
3. O que $i++ faz?
Fontes desta aula
- The PHP Group. Manual do PHP: estruturas de controle.
- The PHP Group. Manual do PHP: um tutorial simples.