Değişken bir sayı çeşitli eşittir olmadığını denetlemek için basit bir yolu var mı?

3 Cevap

Bu i şu anda ne var

if ($j == 1 || $j == 2 || $j == 3)

Bu yazı basit bir yolu var mı. Gibi bir şey ...

pseudocode

if ($j == 1-3)

3 Cevap

İşte in_array() kullanarak bir yolu

if (in_array($j, array(1,2,3)))
{
    //do something
}

Veya nasıl kullanma hakkında range() dizi yapmak için

if (in_array($j, range(1,3)))
{
    //do something
}

Ancak, sadece böyle dar, bitişik aralığını denetlemek için bir dizi bina oldukça verimsiz. Peki nasıl hakkında sadece:

if ($j >= 1 && $j <= 3)
{
    //do something
}

$ J diğer değerler farklı bir eylem tetikleyecek, bir anahtar daha uygun olabilir ...

switch($j)
{
    case 1:
    case 2:
    case 3:
        //do something
        break;        

}

Bir aralık Eğer, basitçe yapabilirsiniz:

if ($j >= 1 && $j <= 5) ...

Paul'un iyi biri, ama büyük bir sayı varsa o zaman kullanmak isteyebilirsiniz range:

if (in_array($j, range(0, 100)))
{

}