PHP If / Else语句没有括号

时间:2012-07-02 04:52:38

标签: php

以下是否始终可以接受代码?它似乎工作,但它是否始终适用于所有版本的PHP?

if ($x > $y)
    echo 'x is greater';
elseif ($x == $y)
    echo 'equal';
else
    echo 'y is greater';

感谢。

6 个答案:

答案 0 :(得分:11)

这在版本中是可以接受的,并且只要你想在每个控制块中只做一件事就可以工作。使用括号确实有助于更容易地跟踪块的开始和结束位置,以及将来何时需要再添加一个语句。

This post总结了PHP中if / else块的各种选项。

答案 1 :(得分:3)

这很好用,如果用很多种语言,这是一种常见的快速做法。如前所述 - 如果您使用多行代码,则需要将其放在带括号的块中。

例如:

if (x == 1)
 echo "x is one";
 echo "one is x";

如果x == 1,结果将是“x是1”,而“one is x”将每次都回显 - 无论x == 1与否。

要使两行代码仅在条件为真时执行,您需要将其括在一个块中。

if (x == 1)
{
 echo "x is one";
 echo "one is x";
}

答案 2 :(得分:2)

你的代码是可以接受的,并且可以在所有版本的php和恕我直言中正常工作:不仅php所有其他语言支持相同的单个语句。但是对于可读性避免任何错误,如果您以后需要添加多个语句,建议使用块状态

答案 3 :(得分:0)

代码始终可以接受。它将始终适用于所有版本的PHP。

答案 4 :(得分:0)

是的,但必须只有一行句子。如果您需要使用更多行,则需要使用括号。

答案 5 :(得分:0)

请浏览PHP在线文档,

http://www.php.net/manual/en/control-structures.elseif.php

if($x > $y):
echo 'x is greater';
elseif($a == $b): // Note the combination of the words.
echo 'equal';
else:
echo 'y is greater';
endif;