是否有一个速记版本,检查是否有许多变量具有相同的值?
而不是: -
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;}
答案 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")