PHP bir switch case 'veya' nasıl kullanılır?

8 Cevap php

Böyle bir şey bir anahtar durumunda bir OR operatörü için (zaten PHP) var mı?

gibi bir şey ..

switch ($value) {

case 1 || 2:
echo 'the value is either 1 or 2';
break;

}

8 Cevap

switch ($value)
{
    case 1:
    case 2:
        echo "the value is either 1 or 2.";
    break;
}

Bu durumda blok "olsa düşme" denir ve bir switch deyimi uygulamak çoğu dilde bulunmaz.

"Bir değer" 3 büyük "olup olmadığını test etmek için: hepsi doğru çünkü ben diğer cevaplar repost olmaz, ama ben sadece daha" karmaşık "ifadeleri için, örneğin anahtarını kullanamazsınız ekleyeceğiz "4 ila 6, vb, böyle bir şey yapmak if ifadeleri kullanarak, veya switch için özellikle güçlü bir ihtiyaç varsa o zaman bunu kullanmak mümkün ayrılmamak için gerekirse Arka cepheye:

switch (true) {
    case ($value > 3) :
        // value is greater than 3
    break;
    case ($value >= 4 && $value <= 6) :
        // value is between 4 and 6
    break;
}

Dediğim gibi ama, ben şahsen bir if deyimi orada kullanmak istiyorum.

Eğer switch ile || kullanmanız gerekiyorsa, o zaman deneyebilirsiniz:

$v = 1;
switch (true) {
    case ($v == 1 || $v == 2):
        echo 'the value is either 1 or 2';
        break;
}

Değilse tercih bir çözüm olurdu

switch($v) {
    case 1:
    case 2:
        echo "the value is either 1 or 2";
        break;
}

Sorun ... 1 100 bu işe hayal mükemmel büyük olgu ile uğraşırken hem yöntem verimli olmadığıdır

$r1 = range(1, 100);
$r2 = range(100, 200);
$v = 76;
switch (true) {
    case in_array($v, $r1) :
        echo 'the value is in range 1 to 100';
        break;
    case in_array($v, $r2) :
        echo 'the value is in range 100 to 200';
        break;
}

Denemek

switch($value) {
    case 1:
    case 2:
        echo "the value is either 1 or 2";
        break;
}

http://phpswitch.com/: Bu yazıda bu aşağıdaki örnekler ile deneyin

Possible Switch Cases :

(I). A simple switch statement

Switch deyimi harika ve sihirli. Bu bir değer için farklı seçenekler arasında seçin, ve değer ayarlanır bağlı olarak hangi kod farklı parçalarını çalıştırmak için izin dilin bir parçası.

Her türlü seçeneği switch deyimi bir durumda verilir.

Example :

switch($bar)
{
    case 4:
        echo "This is not the number you're looking for.\n";
        $foo = 92;
}

(Ii). Delimiting code blocks

Anahtarın önemli ihtar mola ile durdurmak sürece her durumda, bir sonraki birine çalıştırmak olacaktır. Basit vaka Yukarıdaki durumda 5 kapsayacak şekilde genişletilmiştir ise:

Example :

case 4:
    echo "This is not the number you're looking for.\n";
    $foo = 92;
    break;

case 5:
    echo "A copy of Ringworld is on its way to you!\n";
    $foo = 34;
    break;

(Iii). Using fallthrough for multiple cases

Bir mola bulana kadar anahtar kodunu yayınlanmaya devam edecektir, çünkü fallthrough kavramını almak ve birden fazla durum için aynı kodu çalıştırmak için yeterli kolaydır:

Example :

case 2:

case 3:
case 4:
    echo "This is not the number you're looking for.\n";
    $foo = 92;
    break;

case 5:
    echo "A copy of Ringworld is on its way to you!\n";
    $foo = 34;
    break;

(Iv). Advanced switching: Condition cases

PHP'nin anahtarı sadece belirli bir değişkenin değerine açmak için izin vermez: Eğer sürece bu durumda kullanmak için bir değer verir gibi, olguların biri olarak herhangi bir ifade kullanabilirsiniz. Bir örnek olarak, burada anahtarı kullanılarak yazılmış basit bir denetleyicidir:

Example :

switch(true)
{
    case (strlen($foo) > 30):
        $error = "The value provided is too long.";
    $valid = false;
    break;

    case (!preg_match('/^[A-Z0-9]+$/i', $foo)):
        $error = "The value must be alphanumeric.";
    $valid = false;
    break;

    default:
    $valid = true;
    break;
}

ben bu sorunu çözmek için yardımcı olabilir düşünüyorum.

I suggest you to go through http://php.net/manual/en/control-structures.switch.php (manual)

switch ($your_variable)
{
    case 1:
    case 2:
        echo "the value is either 1 or 2.";
    break;
}

explanation

Like for the value you what to execute single statement you can put it without a break as as until or unless break is found it will go on executing the code and if break found it will come out of the switch case.

En iyi yolu, talep ile eğer başka olabilir. Ayrıca, bu kolay olması ve kullanımı temizleyebilirsiniz.

Örnek:

<?php 
$go = $_REQUEST['go'];
?>
<?php if ($go == 'general_information'){?>
<div>
echo "hello";
}?>

Bunun yerine HTML PHP var, özellikle, PHP ile iyi çalışmaz fonksiyonlarını kullanarak.

Bu kodu kullanın:

switch($a) {
case 1:
case 2:
    .......
    .......
    .......
    break;
}

1 ve 2 hem çağrısında blok.