如何为IF语句创建快捷方式?

时间:2014-02-08 14:20:58

标签: php if-statement

是否有一个速记版本,检查是否有许多变量具有相同的值?

而不是: -

if ($a="valid")
 {do stuff;}
if ($b="valid")
 {do stuff;}
if ($c="valid")
 {do stuff;}
if ($d="valid")
 {do stuff;}

有类似的东西: -

if ($a or $b or $c or $d = "valid")
{do stuff;}

5 个答案:

答案 0 :(得分:7)

只需将要检查的所有变量放入数组中,然后使用in_array()一次检查所有这些变量:

if (in_array('valid', array($a, $b, $c, $d))) {
    do stuff;
}

答案 1 :(得分:3)

John Conde将数组放在一起然后使用in_array的解决方案是一个很好的解决方案。如果你想坚持基本的字符串比较,有点像你的示例代码,那么你可以这样做:

if ($a == 'valid' or
    $b == 'valid' or
    $c == 'valid' or
    $d == 'valid') {
  // DO STUFF
}

基于我在示例代码中注意到的内容,请记住:在PHP中进行相等性比较时,请使用==而不是=。单=用于分配,而双==用于比较。

答案 2 :(得分:1)

您可以提取进行比较的函数,并具有:

if (check($a) || check($b) ...)

这不像约翰提出的那样性感(不管他的女朋友说什么),我不得不承认。

答案 3 :(得分:1)

if($ a =='有效' || $ b =='有效' || $ c =='有效' || $ d = ='有效'){// DO STUFF}

这是最好的,因为如果第一个条件为真,则无需检查休息。

答案 4 :(得分:0)

是的,你可以这样:

if (($a || $b || $c || $d) == "valid")