2013-09-07 14 views
5

jest sposób, aby skrócić następujące?Skrót php jeśli/lub oświadczenie

if ($chk == 1 || $chk == 3 || $chk == 5 || $chk == 7){ 
do some stuff 
} 

Dzięki.

+0

check ou edycję zatytułowaną "lub jakąś logikę rzecz" –

Odpowiedz

10
if (in_array($chk, array(1, 3, 5, 7))) ... 

Albo, jeśli masz zamiar to if-elseif-kaskady, użyj instrukcji switch:

switch($chk) 
{ 
    case 1: case 3: case 5: case 7: 
    do_something(); 
    break; 
    case 10: case 30: case 50: case 70: 
    do_something_else(); 
    break; 
    default: 
    do_default(); 
} 
0

Można używać operatorów trójskładnikowych.

in_array($chk, array(1, 3, 5, 7)) ? /* Do some stuff*/; 
1

Jeśli używasz tylko nierównych numerów, można sprawdzić wartość. Jeżeli wartość jest nierówna, to funkcja zostanie wykonana

$unevenNumbers=array(1,2,3,4,5,7); 

foreach($unevenNumbers as $nbr){ 
    if($nbr % 2 !== 0){ 
     //do some stuff 
    } 
} 
1

jeśli szukasz dziwne!

if (!(($chk % 2)==0) // can use if($chk&1) instead 
{ 
//odd acess 
} 
else 
{ 
//even stuff 
} 

lub

if($num&1) 
{ 
    //odd stuff 
} 
else 
{ 
    //even stuff 
} 

lub jakiś logiczny rzeczą

if($num&1) 
{ 
    //odd stuff 

     if($num>=1 && $num<=7) 
        {//your special stuff 
        } 
} 
else 
{ 
    //even stuff 
} 
0
<?php 
$arr = array(1, 3, 5, 7); 
if (in_array($chk, $arr)) { 
    // DO SOMETHING 
}