Aula 09 - Ciclos Aninhados e Aplicações Práticas em PHP.

article featured image

(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 C1L1 C2L1 C3L1 C4
L2 C1L2 C2L2 C3L2 C4
L3 C1L3 C2L3 C3L3 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.

 

Post Anterior