Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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“;如果();构造:条件句可以嵌套吗?_Php_If Statement - Fatal编程技术网

PHP“;如果();构造:条件句可以嵌套吗?

PHP“;如果();构造:条件句可以嵌套吗?,php,if-statement,Php,If Statement,是否可以在phpif语句中执行类似操作: if($a == '1' || ($b == '2' && $c == '3')) echo "foo walks into a bar"; (另外,我的问题标题的措辞是否正确?您可能需要将第一个条件括起来: if(($a == '1') || ($b == '2' && $c == '3')) echo "foo walks into a bar"; 是的,因为$a=='1'| |($b=='2'&&&c=='3')

是否可以在php
if
语句中执行类似操作:

if($a == '1' || ($b == '2' && $c == '3')) echo "foo walks into a bar";

(另外,我的问题标题的措辞是否正确?

您可能需要将第一个条件括起来:

if(($a == '1') || ($b == '2' && $c == '3')) echo "foo walks into a bar";

是的,因为
$a=='1'| |($b=='2'&&&c=='3')
计算为布尔表达式。把
|
&&
看作数学运算符,你可以用括号来改变它们的运算顺序。

它们绝对可以!我认为它应该被称为“多条件if()”语句。

当然可以

是的


您是否尝试过使用适当的值执行它,
$a
$b
$c
?括号不需要,因为
|
的优先级低于
=
没有必要这样做,
$a='1'
本身就是一个布尔表达式。@rfw:嗯,它们不需要。不过这是一个很好的实践——如果你依赖于你对运算符优先级的了解,它会回来咬你(Real Story(tm):“我当然知道优先级,我不需要检查手册-等等,什么?”结果我记错了。)@rfw:一个词:可读性。虽然计算机不在乎,但我可以保证{在{之前的维护者}之后维护代码的人{在{之前的维护者}}之后维护代码的人}会对代码有强烈的感觉。@Piskvor:我个人认为,在他们自己的行中添加条件句而不是把它们括起来更容易阅读。