PHP: Switch durumunda iki değerler?

5 Cevap php

"Araba" ya da bir girdi olarak "ferrari" ise, "araba ya da ferrari" yazdırır. Bunu nasıl elde edebilirsiniz?

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

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

5 Cevap

Iki case cümlecikleri kullanın:

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

explanation:

Bu switch deyimi hataları önlemek için nasıl çalıştığını anlamak önemlidir. switch komut satırında (deyimi ile aslında, deyim) satır yürütür. Başlangıçta, hiçbir kod çalıştırılmaz. Bir case deyimi switch ifadenin değerini PHP ifadeleri çalıştırmaya başlar eşleşen bir değer bulunursa sadece. PHP switch blok, ya da bir break deyimi görür ilk kez sonuna kadar ifadeleri çalıştırmaya devam eder. Bir case ifadesi listenin sonunda break açıklama yazmak istemiyorsanız, PHP şu durumda ifadeleri çalıştırmaya devam edecek.

: Sadece size eşit işlemek istediğiniz durumlarda "ile düşme" olabilir

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

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

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

Olgular kadar ilk break deyimi "ile düşebilir". Bu aynı zamanda default durumda bir break gerekmez anlamına gelir.

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

Bu switch() ifadesinin 'sonbahar-through' mülkiyet avantajı alıyor. Temel olarak, bir bölüm bir case, bir break (işlevini çıkar veya başka bir işlem) durur durmaz.

Onlara sadece ben uygun gördükleri bir girinti düzeyini, kadar kullanmak yapar ben anahtarları için tercih girinti, uygulanması özgürlük aldım mantıklı, switch ve onun cases, çünkü aynı yapının tüm elemanları bulunmaktadır. Yani içinde iki girinti düzeyleri kullanılarak switch hiçbir yararlı bilgiler aktarıyor.

PHP bu destekler, ancak C, böyle bir şey yapabileceğini 'bilmiyorum:

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

Fikir bir break vurur kadar araba davayı işlemek için kod çalışmaya devam edecektir. Tarzı itibariyle, bu kaçınılmalıdır.