Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为IF语句创建快捷方式?_Php_If Statement - Fatal编程技术网

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-很高兴我能帮上忙。谢谢你接受我的回答。不过,我还是会支持约翰·康德的解决方案——这是一个很好的解决方案。