Ir ao conteúdo
  • Cadastre-se

Case - php


DanyelNak

Posts recomendados

  • Moderador

você precisa seguir a estrutura certa do switch case.

exemplo:

testaCase.php


<?php

$opcao $_POST["radio"]

switch($opcao){

case "a": echo "escolheu a opção A";
break;
case "b": echo "escolheu a opção B";
break;
case "c": echo "escolheu a opção C":
break;
default: echo "nenhuma das alternativas foram escolhidas";

}

?>


<form action="testaCase.php" method="post">
<ul>
<li><input type="radio" name="radio" value="a">A</li>
<li><input type="radio" name="radio" value="b">B</li>
<li><input type="radio" name="radio" value="c">C</li>
<li><input type="radio" name="radio" value="d">D</li>
</ul>
<input type="submit" value="testar Switch case"/>
</form


Nao levei em conta a estilizaçao com css nesse formulario.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

O break não é necessariamente obrigatório.. e sim, você pode deixar linhas em branco conforme seu exemplo acima. Não precisa colocar break em todos..

A existência do break está relacionada a forma que o switch case trata a condição.. pois ele só trata a condição uma vez e então ele executará todos os códigos a partir do momento em que um case passar na condição.. mas não executará a condição novamente (ignorando os outros cases). Por isso é utilizado o break..

Isso pode ser lido na própria documentação do PHP:

http://php.net/manual/en/control-structures.switch.php (inglês)

Link para o comentário
Compartilhar em outros sites

  • Moderador

bem.. segundo o post do lucas.. sim .. mas pelo que eu aprendi na faculdade.. a clausula break serve para parar a execuçao... então se você tem varios cases e neles so pode haver uma execuçao em especifico.. o break seriviria para isso.

a impressao que tenho é que enquanto você nao declara um break.. ele vai executando o case "a".. o case "b".. e aí por diante ate encontrar um break e parar.

no caso do seu exemplo e pelo site que lucas postou.. serviria caso você queria que eles façam o mesmo codigo antes de parar

o case é equivalente ao bloco de if - else , else if.. por exemplo:


if (variavel == "a" ){
faz alguma coisa

}else if(variavel == "b"){
faz outra cois diferente
}

traduzindo isso.. pra ifs no seu exemplo o que me dá impressao é que seria isso:


if((variavel == "a") && (variavel == "b")){
faz alguma coisa
}

posso ta totalmente errado.. mas é essa a impressao que me dá. da uma olhada no link que o lucas postou.. é do proprio manual..

abraço

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Sim.. a ideia é essa mesmo: Após algum case passar na condição, todos os códigos (dos outros cases - mesmo que não passem a condição) serão executados.. isso porque a condição só é verificada uma vez.

Então se você não quiser executar todos os códigos é necessário parar o case com um break sim. E sim, você pode (e deve - na maioria dos casos) fechar seu case com break!

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...