Início > Otimização, PHP > A real diferença entre if/else e switch/case

A real diferença entre if/else e switch/case

Bem, diversas vezes nos vemos pensando: Mas qual é a diferença entre if/else e o famoso (talvez o anterior seja mais…) switch/case ?

Bem, apesar de um poder TRANQUILAMENTE desempenhar o papel do outro, vemos que, para um código apurado e bem escrito, cada um pode desempenhar um papel específico.

Por exemplo:

No if/else, você verifica com bem menos linhas se uma expressão é verdadeira ou não. Com switch/case, você teria mais trabalho e ficaria bem feio, afinal if (statement) {…} é bem melhor que:
switch(statement) {
case true:

break;
}

Não !? Então podemos concluir:
IF/ELSE É MAIS APROPRIADO PARA AVALIAÇÃO BOOLEANA (VERIFICAR SE É FALSA OU VERDADEIRA) DA EXPRESSÃO.

Mas e pra casos exatos? Como fica?
Aí é a hora do nosso switch/case ! :D
Pense bem, você quer saber se a variável $a é igual a um de 3 valores. Com if/else, seria um inferno e uma miscelânea, como:
if($a == 3 || $a == “io” || $a = “[][]fdugy”)
{

}

Ficaria horrível. Funcionar funcionaria, mas o que procuramos é a forma ideal de implementar.
Em switch/case …:
switch($a)
{
case 3:
case “io”:
case “[][]fdugy”:

break;
}

Muito bom, não !? Fica mais fácil de arrumar além de muitas outras qualidades! Então, no switch/case, tiramos a conclusão que serve para COMPARAÇÕES A RESULTADOS EXATOS (não tem como colocar case Verificar se expressão é verdadeira ou falsa, ou fazer comparações com resultados não definidos.

switch/case => Fazer comparações de resultados exatos.

Espero ter sido útil, valeu !

About these ads
CategoriasOtimização, PHP
  1. Welington
    26/09/2010 às 12:02:25

    Excelente exemplo muito bom mesmo, valew

  2. Eduardo Uberlândia
    16/01/2012 às 21:39:46

    Boa!

  3. Anacleto Linux
    09/02/2012 às 14:53:26

    1) Como inicializar uma variável.
    2) Qual a diferença que há entre a estruturara if e switch
    3) Será que há diferença entre: Algoritmia e Estrutura de dados, Algoritmo e Logica de programação e Algoritmo
    4) Em que caso é que podemos aplicar ou usar o operador lógico xru
    email: miguel221907@hotmail.com \\ anacleto linux

  4. Anacleto Linux
    09/02/2012 às 14:55:55

    a 4 pergunta não é xru mas sim “xor”

  5. fernando
    10/08/2013 às 11:38:10

    Mais do que isso, o switch tem um desempenho melhor…

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d blogueiros gostam disto: