PHP: due valori in caso di Switch?

Se “auto” o “ferrari” come input, si deve stampare “auto o in ferrari”. Come posso ottenere?

<?php
$car ='333';
switch($car)
{

        case car OR ferrari:
                print("car or ferrari");
                break;
        case cat:
                print("cat");
                break;
        default:
                print("default");
                break;
}
?>

OriginaleL’autore hhh | 2009-09-05

5 Replies
  1. 25

    Utilizzare due case clausole:

    case 'car':
    case 'ferrari':
        print("car or ferrari");
        break;

    Il spiegazione:

    È importante capire come il switch istruzione viene eseguita in modo da evitare errori. Il switch istruzione esegue riga per riga (in realtà, dichiarazione dichiarazione). All’inizio, non viene eseguito il codice. Solo quando un case istruzione è trovato con un valore che corrisponde al valore del switch espressione PHP iniziare a eseguire le istruzioni. PHP continua ad eseguire le istruzioni fino alla fine del switch blocco, o la prima volta che si vede un break istruzione. Se non scrivi un break istruzione alla fine di un caso dell’elenco di istruzione, PHP andare su eseguendo le istruzioni della seguente caso.

    +1 e accettata perché hai scelto di critica. Grazie.
    Interessante notare che il default: caso è come in qualsiasi altro caso. Non ha bisogno di essere alla fine dell’interruttore. Esempio: codepad.org/jNrQdM3U

    OriginaleL’autore Gumbo

  2. 5

    Si può semplicemente “caduta attraverso” i casi che si desidera gestire ugualmente:

        <?php
        $auto ='333';
        switch($auto)
        {
    
        case car:
        case ferrari:
                print("car or ferrari");
                break;
        case kissa:
                print("cat");
                break;
        default:
                print("default");
                break;
        }
    Come si fa a rispondere alla critica che dal handsomeGun?
    Mi dispiace, potrebbe essere troppo tardi, ma non riesco a trovare una critica da handsomeGun?

    OriginaleL’autore Dan Soap

  3. 2
    switch($car)
    {
    
            case car:
            case ferrari:
                    print("car or ferrari");
                    break;
            case cat:
                    print("cat");
                    break;
            default:
                    print("default");
                    break;
    }

    Casi “caduta tramite” fino a quando il primo break istruzione. Questo significa anche che non hai bisogno di un break in default caso.

    OriginaleL’autore Tomalak

  4. 1
    switch($car) {
    case 'car':
    case 'ferrari':
        print("car or ferrari");
        break;
    case 'cat':
        print("cat");
        break;
    default:
        print("default");
        break;
    }

    Questo è sfruttare la ” caduta-attraverso la proprietà del switch() istruzione. Fondamentalmente, non si fermano a un case, si ferma a un break (o di altra operazione che chiude la funzione).

    Mi sono preso la libertà di applicare il rientro preferisco per gli interruttori, che li rende solo un livello di rientro, che ritengo appropriato perché, logicamente, il switch e la sua cases sono tutti gli elementi di uno stesso costrutto. Quindi, utilizzando due livelli di rientro entro il switch trasmette nessuna informazione utile.

    OriginaleL’autore chaos

  5. 1

    Io non’ sapere se il PHP supporta questo, ma in C, si potrebbe fare qualcosa di simile a questo:

    case car:
    case ferrari:
                print("car or ferrari");
                break;

    L’idea è che il codice per la gestione dell’auto in caso continuerà a funzionare fino a quando non incontra una istruzione break. Come per lo stile, che deve essere evitato.

    +1 per l’avvio di un confronto

    OriginaleL’autore llamaoo7

Lascia un commento