(continuação da Aula 08)
14. Criar uma tabela HTML
Agora esta estrutura começa a fazer mais sentido no contexto Web.
O PHP gera uma tabela com:
O resultado será semelhante a:
| L1 C1 | L1 C2 | L1 C3 | L1 C4 |
| L2 C1 | L2 C2 | L2 C3 | L2 C4 |
| L3 C1 | L3 C2 | L3 C3 | L3 C4 |
Mais uma vez, não tivemos de escrever manualmente as 12 células.
15. Construir várias tabuadas
Também podemos utilizar ciclos aninhados para apresentar várias tabuadas.
O primeiro ciclo controla:
O segundo controla:
16. foreach dentro de foreach
Os ciclos aninhados não estão limitados ao for.
Considere:
Temos um array que contém outros arrays.
Podemos utilizar:
Resultado:
O primeiro foreach percorre as turmas.
O segundo percorre os alunos existentes em cada turma.
17. Compreender a estrutura
Temos:
O primeiro ciclo trabalha no primeiro nível:
O segundo trabalha no nível seguinte:
alunos de cada turma
18. Exemplo — Categorias e produtos
Vamos aproximar-nos ainda mais de uma página Web.
Podemos apresentar:
O PHP produz:
Esta lógica aparecerá muitas vezes quando começarmos a trabalhar com informação organizada em diferentes níveis.
19. Combinar ciclos e condições
Podemos combinar praticamente tudo o que aprendemos.
Considere:
Queremos apresentar apenas os produtos disponíveis:
Temos agora:
Já estamos a construir uma pequena lógica de página dinâmica.
20. Um erro frequente nos ciclos aninhados
É importante utilizar variáveis diferentes.
Correto:
Temos:
Utilizar a mesma variável nos dois ciclos pode alterar o contador exterior e produzir resultados inesperados.
Por isso, devemos identificar claramente o papel de cada variável.
21. Não complicar desnecessariamente
Ciclos aninhados são úteis, mas não devemos utilizá-los quando um único ciclo resolve o problema.
Se temos:
basta:
Não existe qualquer necessidade de criar um segundo ciclo.
Uma regra importante em programação é:
Devemos procurar a solução mais simples que resolva corretamente o problema.