IF
O if é uma estrutura condicional que retorna um valor booleano de acordo com o resultado da condicional, ou é true ou é false. Em um determinado momento em sua aplicação você certamente irá precisar de uma estrutura que tome uma decisão de acordo com uma escolha do usuário ou de acordo com um valor informado, é uma ocorrência comum em qualquer programa.
Ex.:
<?php
$numero = 10;
if ( $numero = = 10 ) {
echo 'verdadeiro'; /* se o retorno for true o código para aqui, pois o return encerra a estrutura que o contém. Visto que $numero é igual a 10 o retorno será verdadeiro */
} else {
echo 'false'; /* caso contrário se o valor não for igual a 10 a condicional irá retornar false */
}
?>
Há também o uso do elseif, porém este deve estabelecer uma condicional assim como o if, note que o else apenas nega o que foi passado anteriormente. Veja como funciona o elseif:
<?php
$numero = 10;
if ( $numero > 10 ) {
echo 'e maior que 10';
} elseif ($numero = = 10) { //aqui temos outra condicional
echo 'é igual a 10';
} else {
echo 'e menor que 10'; //note que não há uma condicional no else
}
?>
Àqueles que são acostumados ao ASP, Delphi, Pascal e similares talvez prefiram uma sintaxe alternativa do if, que aos olhos de alguns parece mais organizada, eu particularmente prefiro o modelo clássico.
Sintaxe alternativa:
<?php
$y = 1;
if(isset($y)):
echo $y;
else:
echo 'não existe';
endif;
?>
Switch
Em algumas ocasiões é preciso testar várias condicionais, para isso podem ser usados diversos if aninhados sistematicamente, no entanto este sistema acaba por tornar o código um tanto quanto confuso e de difícil leitura. Uma alternativa mais elegante e deveras interessante para o proposto seria o uso da estrutura switch, que irá executar um determinado comando vinculado à condicional que retornar true.
<?php
$mes='março';
switch ($mes) {
case 'janeiro':
print 'mes de janeiro';
break; /*os breaks são essenciais se forem retirados o switch irá executar todos os comandos imediatamente abaixo de uma condicional verdadeira*/
case 'fevereiro':
print 'mes de fevereiro';
break;
case 'março':
print 'mes de março';
break;
default; /*caso todas as condicionais retornem false o valor default será executado*/
case 'abril':
print 'mes de abril';
break;
}
?>