2011-04-08 19 views
21

私は変数$varを持っています。PHP複数の条件付きのIf文

私は$varは、以下の値abcのいずれかに等しいdefhijklm、またはnopであれば"true"をエコーし​​ます。 &&のような単一のステートメントでこれを行う方法はありますか?あなたがエレガントな方法オンザフライでのアレイを構築し、in_array()を使用しているPHP

$array=array('abc', 'def', 'hij', 'klm', 'nop'); 

if (in_array($val,$array)) 
{ 
    echo 'Value found'; 
} 

答えて

32
if($var == "abc" || $var == "def" || ...) 
{ 
    echo "true"; 
} 

"And"の​​代わりに "And"を使用すると、ここで助けになると思います。

11

switch statement

if (in_array($var, array("abc", "def", "ghi"))) 

も代替です:

switch ($var) { 
case "abc": 
case "def": 
case "hij": 
    echo "yes"; 
    break; 
default: 
    echo "no"; 
} 
84

の機能をin_array使用することができます

+1

ええ、in_array()は、私はそれを行うだろう正確にどのようにあります。 –

+1

これは私が必要としたものです:) StackBackflowのアーカイブのために神に感謝; –

+1

私は($ var == 'abc' | 'xyz' | 'cbs') 多分それは単なる夢だった:p – nodws

11

なぜあなたは&&を使いたいのですか?

echo in_array($var, array('abc', 'def', 'hij', 'klm', 'nop')) 
     ? 'yes' 
     : 'no'; 
4

ブール演算子または:||を使うことができます。の$ varが文字列の場合

<?php 
    echo (($var=='abc' || $var=='def' || $var=='hij' || $var=='klm' || $var=='nop') ? "true" : "false"); 
?> 
-9

は、私にはわからないと、あなたは式だけを見つけたいが、ここで、それはどちらかの道を行く:

if($var == 'abc' || $var == 'def' || $var == 'hij' || $var == 'klm' || $var == 'nop'){ 
    echo "true"; 
} 
+7

-1うわー!ちょうどあなたが引き起こしたオーバーヘッドを知っていますか?良い男、男! –

+0

パターン内の区切り文字が欠落していることは言うまでもありません。 – SOFe

1

を使用する

試行コードのこの部分を試してください:

$first = $string[0]; 
if($first == 'A' || $first == 'E' || $first == 'I' || $first == 'O' || $first == 'U') { 
    $v='starts with vowel'; 
} 
else { 
    $v='does not start with vowel'; 
} 
0

配列を使用して、ループ内で1ずつ値1を比較するために良いだろう。あなたのテスト配列の長さを変更することができます。 2つのパラメータ、1はテスト配列、もう1つはテストする値を取る関数を書く。

$test_array = ('test1','test2', 'test3','test4'); 
for($i = 0; $i < count($test_array); $i++){ 
    if($test_value == $test_array[$i]){ 
     $ret_val = true; 
     break; 
    } 
    else{ 
     $ret_val = false; 
    } 
} 
0

私はこの方法が私のために働いた:

$thisproduct = "my_product_id"; 
$array=array("$product1", "$product2", "$product3", "$product4"); 
if (in_array($thisproduct,$array)) { 
    echo "Product found"; 
}