Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Dúvida sobre switch


Finch

Pergunta

Por exemplo eu tenho 100 casos e 3 respostas

30 deles voltarão sim,

30 deles voltarão não

40 deles voltarão neutros

Sendo 100 case eu terei que escrever os 100 ou posso agrupar de acordo com a resposta?

Vou dar um exemplo:

switch ($tipoid) {
case 0: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/A_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/A_2.html");
    }
    break;

case 1: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/A_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/A_2.html");
    }
    break;

case 2: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/A_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/A_2.html");
    }
    break;

case 3: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/A_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/A_2.html");
    }
    break;
    
case 4: 
     if ($postid==0) {
    $outstr = loadTemplate("includes/temp/A_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/A_2.html");
    }
    break;
    
case 5: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/B_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/B_2.html");
    }
    break;

case 6: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/B_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/B_2.html");
    }
    break;

case 7: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/B_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/B_2.html");
    }
    break;

case 8: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/B_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/B_2.html");
    }
    break;
    

case 9: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/B_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/B_2.html");
    }
    break;

case 10: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/B_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/B_2.html");
    }
    break;

case 11: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/B_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/B_2.html");
    }
    break;

case 12: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/B_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/B_2.html");
    }
    break;

case 13:
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/B_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/B_2.html");
    }
    break;

case 14: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/A_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/A_2.html");
    }
    break;

case 15: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/A_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/A_2.html");
    }
    break;

case 16: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/A_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/A_2.html");
    }
    break;

case 17: 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/A_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/A_2.html");
    }
    break;

default:
    return "Erro";

Haveria uma forma de agrupar os cases: 0, 1, 2, 3, 4, 14, 15, 16, 17

e também agrupar os cases: 5, 6, 7, 8, 9, 10, 11, 12, 13.

Obrigado ;)

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Arrays... criei dois arrays, "sim" e "não"... ai não precisa fazer tudo o que você fez e o resultado é o mesmo...

<?php
$sim = array(0,1,2,3,4,14,15,16,17);
$não = array(5,6,7,8,9,10,11,12,13);

$tipoid =;//Aqui vai o tipo
if (in_array($tipoid, $sim)) { 
    if ($postid==0) {
   $outstr = loadTemplate("includes/temp/A_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/A_2.html");
    }
}elseif(in_array($tipoid, $não)) { 
    if ($postid==0) {
    $outstr = loadTemplate("includes/temp/B_1.html");
    }else{
    $outstr = loadTemplate("includes/temp/B_2.html");
    }
}else{
echo "Não é nem do array sim e nem do não";
}
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652k
×
×
  • Criar Novo...