Criando Loops com PHP

Tutoriais PHP

Na linguagem PHP existem diferentes estruturas de controle destinadas a gerenciar a execução de scripts. Neste post nós estudaremos os loops. Loops são usados para executar repetidamente uma parte de um script em um determinado número de vezes ou até que seja encontrada uma determinada condição.


Loop “while”

A sintaxe para um loop while é conforme mostrada a seguir:

while (condição) {
		Comandos PHP de execução
}

Esta sintaxe pode ser traduzida para linguagem corrente como: execute comandos PHP enquanto (while) a condição for satisfeita.

Vejamos um exemplo bem simples:

        <html>
	<head>
	<title>Loops</title>

	</head>
	<body>

	<?php

	$x = 1;

	while ($x <= 50) {
	   echo "<p>Este texto se repete 50 vezes</p>";
	   $x = $x + 1;
	}
	?>

	</body>

	</html>

No exemplo mostrado usamos uma variável denominada “$x”. Como você pode notar, nomes de variáveis em PHP sempre começam com o caractere “$”. No início é fácil esquecer esta sintaxe, contudo é absolutamente necessário o símbolo “$” para iniciar o nome de variáveis, pois do contrário o script não funciona.

Além disto o restante do script é auto-explicável. No começo a variável $x recebe o valor 1. A seguir o loop pede para o servidor executar o comando de escrever um texto enquanto a variável for menor do que 50. A cada execução a variável é incrementada de 1 unidade.

Loop “for”

Outra maneira de executar um loop é com uso de for conforme mostrado a seguir:

	for (Inicialização; Condição; passo) {
		 Comandos PHP de execução
	}

Os comandos PHP de execução se repetem com a ‘Inicialização’ + ‘passo’ enquanto a ‘Condição é satisfeita’. Se isso não faz sentido para você o exemplo a seguir esclarece melhor:

	<html>
	<head>

	<title>Loops</title>
	</head>
	<body>

	<?php

	for ($x=0; $x<=50; $x=$x+5) {
	   echo '<p>A variável $x agora tem o valor igual a ' . $x . '</p>';
	}
	?>

	</body>
	</html>

No exemplo mostrado $x é incrementado de 5 unidades em cada loop. O loop continua sua execução enquanto $x for menor ou igual a 50. Notar que o valor de $x é usado como parte do texto a ser escrito pelo script.

Observe outro exemplo:

	<html>
	<head>

	<title>Loops</title>
	</head>
	<body>

	<?php

	for ($x=1; $x<=6; $x=$x+1) {
	   echo "<h" . $x . "> Cabeçalho nível</h" . $x . ">";
	}
	?>

	</body>
	</html>

Você entendeu? começamos definindo o valor de $x igual a 1. A seguir em cada loop escrevemos um cabeçalho nível $x (h1, h2, h3, etc.) até $x alcançar o valor seis.

Loops dentro de loops

A princípio não existe limite para a quantidade de loops a usar. Você pode facilmente aninhar loops e criar muitas repetições.

Mas, cuidado! A execução de PHP torna-se lenta quando desenvolvemos scripts extensos e complicados. Por exemplo: observe a seguir o script com três loops capaz de escrever 16 milhões de cores!

Com a finalidade de não tornar a página de carregamento muito lento nós reduzimos drasticamente o número de repetições para passos de 30 limitando o número de cores escritas para 512.

	<html>

	<head>
	<title>Loops </title>
	</head>
	<body>

	<?php

	for ($intRed=0; $intRed<=255; $intRed=$intRed+30) {

	   for ($intGreen=0; $intGreen<=255; $intGreen=$intGreen+30) {

	      for ($intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) {

		  $StrColor = "rgb(" . $intRed . "," . $intGreen . "," . $intBlue . ")";

		  echo "<span style='color:" . $StrColor . "'>" . $StrColor . "</span>";

	      }
	   }
	}
	?>

	</body>
	</html>

No exemplo mostrado cada uma das três cores primárias (red, green e blue) pode ter um valor entre 0 e 255. Qualquer combinação de três valores resulta em uma cor do tipo rgb(255,255,255). O código da cor é escrito em um elemento <span> que por sua vez é estilizado com a respectiva cor.

Loops tornam-se mais interessantes é práticos depois que você aprende mais algumas funcionalidades do PHP. Assim que você entender o princípio de funcionamento do loop passe para a lição seguinte na qual estudaremos as condicionais.