17

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

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

谢谢。

4

6 回答 6

18

这在整个版本中都是可以接受的,并且只要您只想在每个控制块中做一件事,它就可以工作。使用括号确实有助于更轻松地跟踪块的开始和结束位置,以及在您需要添加一个语句时的未来验证。

这篇文章很好地总结了 PHP 中 if/else 块的各种选项。

于 2012-07-02T04:57:11.220 回答
5

这很好用,而且这是在许多语言中快速执行 if's 的常用方法。如前所述 - 如果您使用多行代码,则需要将其放在带括号的块中。

例如这里:

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

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

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

if (x == 1)
{
 echo "x is one";
 echo "one is x";
}
于 2012-07-02T05:13:48.223 回答
2

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

于 2012-07-02T05:00:20.873 回答
0

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

于 2012-07-02T04:55:37.837 回答
0

可以,但必须是一排句子。如果您需要使用更多行,您将需要括号。

于 2012-07-02T04:56:11.837 回答
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;
于 2012-07-02T05:06:24.820 回答