Php 如何为IF语句创建快捷方式?
是否有一个速记版本来检查多个变量是否具有相同的值 而不是:-Php 如何为IF语句创建快捷方式?,php,if-statement,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;} 只需将所有要检查的变量放入一个数组中,并使用它们一次检查所有变量: if (in_arr
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;}
只需将所有要检查的变量放入一个数组中,并使用它们一次检查所有变量:
if (in_array('valid', array($a, $b, $c, $d))) {
do stuff;
}
您可以提取进行比较的函数,并具有:
if (check($a) || check($b) ...)
我不得不承认,这不像约翰的主张(不管他女朋友说什么)那么性感。是的,你可以,像这样:
if (($a || $b || $c || $d) == "valid")
约翰·康德(John Conde)的解决方案是将一个数组组合起来,然后在数组中使用
。如果您想坚持基本的字符串比较,有点像您的示例代码,那么您可以执行以下操作:
if ($a == 'valid' or
$b == 'valid' or
$c == 'valid' or
$d == 'valid') {
// DO STUFF
}
根据我从您的示例代码中注意到的内容,请记住:在PHP中进行相等性比较时,请使用=
,而不要使用=
。单个=
用于赋值,而双=
用于比较。如果($a='valid'| |$b='valid'| |$c='valid'| |$d='valid'){//DO STUFF}
这将是最好的,因为如果第一个条件为真,则无需检查其余条件。这是打字错误还是您在if语句中赋值?如果是,如果($a=$b=$c='valid')。。。loltypo:D。。。如果($a==“valid”)。。。如果我错了,我的BAD会纠正我,但这似乎是,而不是或虽然我没有,这意味着(“aaa”&“bbb”&“有效”)将等于“有效”?还有“aaa”和“bbb”?我想,@克拉夫坦-我想你从来都不知道这是可能的。。。因为这是不可能的&&
是逻辑和运算符。如果您执行$a&&$b&&$c&&$d
,您将获得true
或false
——您将永远不会获得值为“valid”
的字符串。如果您使用|
逻辑或
运算符-您仍然会遇到相同的问题。好的,废话。在我的本地机器上没有工作,你确定这是对的@是的。刚刚注意到了或者| |对OP的问题不起作用。有趣的是,如果OP的请求都是一样的,&应该已经起作用了。谢谢大家。。。我使用这种风格,因为我实际上使用的是而不是==@Blackwolf-很高兴我能帮上忙。谢谢你接受我的回答。不过,我还是会支持约翰·康德的解决方案——这是一个很好的解决方案。