Lição 6: Condicionais

Condicionais são usadas para executar um bloco de script sempre que determinada condição seja satisfeita. Por exemplo: uma condição pode estabelecer que uma data seja posterior a 1 de janeiro de 2012 ou que uma variável seja maior do que 7.

If...

A primeira condicional que estudaremos é o documentaçãoif cuja sintaxe é mostrada a seguir:


	if (condition) {
	   Comandos PHP
	}
	
	

Mais uma vez a sintaxe se parece com a linguagem corrente: If (Se) se a condição é satisfeita, execute alguma coisa. Vejamos um exemplo simples:


	<html>

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

	<?php

	$x = 2;

	if ($x > 1) {
	   echo "<p>A variável $x é maior que 1 </p>";
	}
	 
	?>

	</body>
	</html>
	
	

if ... else ...

Vejamos agora a condicional documentaçãoelse cuja sintaxe é mostrada a seguir:

	
	if (condição) {
	   comandos PHP
	}
	else {
	   Comandos PHP
	}

	

Mais uma vez a sintaxe se parece com a linguagem corrente: if (se) a condição é satisfeita, execute alguma coisa else (se não) execute outra coisa.

Na Lição 4 mostramos como encontrar o número representativo do mês. No exemplo a seguir usaremos este número em uma condicional documentaçãoif documentaçãoelse para encontrar em qual das estações do ano estamos:


	<html>
	<head>
	<title>Condicionais</title>
	</head>
	<body>

	<?php

	if (date ("m") == 3) {
	   echo "<p>Estamos no outono!</p> ";
	}
	else {
	   echo "<p>Eu não sei em que estação estamos!</p> ";	
	}

	?>

	</body>
	</html>
	
	

Notar que se trata de uma condicional não muito inteligente - ela só funciona para o Mês de Março!

Contudo, existem várias maneiras de aperfeiçoar a condicional tornando-a mais precisa. Observe a seguir alguns operadores de comparação que podemos usar na condicional mostrada:

== Igual
< Menor que
> Maior que
<= Menor ou igual a
>= Maior ou igual a
!= Diferente

Existem também operadores lógicos:

&& e
|| ou
! não

Operadores se destinam a criar condicionais mais precisas e com seu uso podemos melhorar o exemplo mostrado anteriormente fazendo com que o retorno do script seja a estação primavera em todos os meses que ela ocorre e não somente em março:


	<html>
	<head>
	<title>Condicionais</title>

	</head>
	<body>

	<?php
 
	if (date("m") >= 3 && date("m") <= 5) {
	   echo "<p> Estamos no outono!</p> ";
	}
	else {
	   echo "<p> A estação atual é primavera, verão ou inverno!</p> ";
	}
	 
	?>

	</body>
	</html>

	
	

Vamos examinar estas novas condicionais:

	date("m") >= 3 && date("m") <= 5 
	

Pode ser traduzida como:


	Se o número que representa o mês for maior ou igual a 3  e menor ou igual a 5
	
	

Legal não é? Operadores são largamente usados em diferentes blocos de script do PHP.

Contudo nosso exemplo só funciona para os meses de março, abril e maio, Os demais meses não são contemplados pela condicional. Assim, vamos aperfeiçoá-lo mais:

if ... elseIf ... else...

Usando documentaçãoelseif podemos expandir a condicional e fazer com que nosso script funcione para todos os meses do ano:


	<html>
	<head>
	<title>Condicionais</title>

	</head>
	<body>

	<?php
 
	if (date("m") >= 3 && date("m") <= 5) {
	   echo "<p>Estamos no outono!</p>";
	}

	elseif (date("m") >= 6 && date("m") <= 8) {
	   echo "<p>Estamos no inverno!</p>";
	}

	elseif (date("m") >= 9 && date("m") <= 11) {
	   echo "<p>Estamos na primavera!</p>";
	}

	else {
	   echo "<p>Estamos no verão!</p>";
	}
	 
	?>

	</body>
	</html>

	
	

Escrever condicionais é uma questão de lógica e método. O exemplo mostrado é bem esclarecedor, porém o uso de condicionais pode tornar-se bem mais complexo.

switch ... case

Outra maneira de se escrever condicionais é com uso do método documentaçãoswitch:


	switch (expressão) {
 
	case 1: 
	   comandos PHP
	   break;	
	case 2: 
	   comandos PHP
	   break; 
	default:
	   comandos PHP
	   break;
	}
	
	

Este método toma por base uma expressão e a seguir relaciona uma série de "respostas" ou "valores" e respectivos comandos PHP. A maneira mais fácil de entender esta condicional é observando um exemplo.

Na lição 4 nós vimos que a função documentaçãodate("w") retorna um número representando dia da semana. Vamos mostrar um exemplo para escrever o nome do dia da semana em lugar do número que o representa:


	<html>
	<head>
	<title>Condicionais</title>
	</head>
	<body>

	<?php
 
	switch(date("w")) {
	 
	case 1:
	   echo "Hoje é segunda-feira";
	   break;
	case 2:
	   echo "Hoje é terça-feira";
	   break;
	case 3:
	   echo "Hoje é quarta-feira";
	   break;
	case 4:
	   echo "Hoje é quinta-feira";
	   break;
	case 5:
	   echo "Hoje é sexta-feira";
	   break;
	case 6:
	   echo "Hoje é sábado";
	   break;
	default:
	   echo "Hoje é domingo";
	   break;
	 
	}
	 
	?>

	</body>
	</html>
	
	

Em geral documentaçãoswitch é uma boa alternativa para a condicional documentaçãoif documentaçãoelse. Qual delas usar em uma determinada situação depende somente de você. Use aquela que você considera mais fácil e lhe pareça mais lógica. Criar scripts lógicos e claros pode se constituir em um grande desafio para o desenvolvedor.

Na próxima lição mostraremos como inserir comentários em seus scripts com a finalidade de facilitar o entendimento de como eles funcionam. Um script bem comentado oferece a você ou a outra pessoa dicas que serão valiosas por ocasião de mudanças ou manutenção futura.



<< Lição 5: Loops

Lição 7: Insira comentários nos seus scripts >>

cron