quarta-feira, 26 de fevereiro de 2014

Pronatec



Switch, Case e Default
Em PHP, existe um comando que permite utilizar várias opções definidas agrupadas em uma única estrutura. Estamos falando de switch.
Switch trabalha usando casos (case) que são valores definidos.
A estrutura do switch é: switch (variável) { case valor: código a ser executado }
O importante é entender que o switch executa tudo a partir do ponto do case encontrado, isso quer dizer que, se possuirmos um switch com 5 cases e o segundo case for ativado, então, será executado o case 2 e também os cases 3, 4 e 5. Para evitar que isso aconteça, podemos simplesmente parar a execução do switch usando o comando break.
Switch nos poupa o trabalho de criar várias estruturas if-else aninhadas se elas forem apenas para verificar um dado específico. Por exemplo, se quizéssemos que o usuário digitasse um número entre 0 a 4 apenas para executar um trecho de código.
01.<?php
02.$var1 = 0;
03.if ($var1 == 0) {
04.//código se var1 for 0
05.} elseif ($var1 == 1) {
06.//código se var1 for 1
07.} elseif ($var1 == 2){
08.//código se var1 for 2
09.} elseif ($var1 == 3) {
10.//código se var1 for 3
11.} elseif ($var1 == 4) {
12.//código se var1 for 4
13.}
14.?>
Com switch seria assim:
01.<?php
02.$var1 = 0;
03.switch ($var1){
04.case 0:
05.//código se var1 for 0
06.break;
07.case 1:
08.//código se var1 for 1
09.break;
10.case 2:
11.//código se var1 for 2
12.break;
13.case 3:
14.//código se var1 for 3
15.break;
16.case 4:
17.//código se var1 for 4
18.break;
19.}
20.?>
O caso default serve para executar um trecho do código que não tenha seu valor definido em case.
Usando o exemplo acima, o switch possui 5 cases que vão de 0 a 4, o que aconteceria se a variável var1 valesse 10? Está é a finalidade do default, ele irá pegar qualquer caso que não esteja definido.
01.<?php
02.$var1 = 0;
03.switch ($var1){
04.case 0:
05.//código se var1 for 0
06.break;
07.case 1:
08.//código se var1 for 1
09.break;
10.case 2:
11.//código se var1 for 2
12.break;
13.case 3:
14.//código se var1 for 3
15.break;
16.case 4:
17.//código se var1 for 4
18.break;
19.default:
20.//código se var1 não for nenhum dos casos anteriores
21.break;
22.}
23.?>
Abaixo está um exemplo de como podemos usar switch, case e dafault de forma simples.
01.<?php
02.$letra = 'A';
03.switch (strtoupper($letra)){
04.case 'A':
05.case 'E':
06.case 'I':
07.case 'O':
08.case 'U':
09.echo ("Esta letra é uma vogal");
10.break;
11.default:
12.echo ("Esta letra é uma consoante");
13.break;
14.}
15.?>
No exemplo acima, há um switch que irá procurar pelo valor da variável letra. Como podemos ver, letra vale A. Como PHP é uma linguagem que chamamos de case sensitive (diferencia maiúsculas de minúsculas) usamos a função strtoupper() para converter qualquer caracter em maiúsculo. Switch irá encontrar logo no primeiro caso o valor A e começará a executar dessa linha em diante, pois não há nenhum comando que pare a execução, ou seja, o switch irá executar até o case U onde mostrará uma mensagem -> Esta letra é uma vogal. Mas não será executado default porque há um comando break antes dele que impedirá sua execução. No entanto, se modificássemos o valor de letra para qualquer caracter diferente de A, E, I, O e U, apenas default se seria executado.

  Agora  Responda:

O que o comando default faz em PHP ?