为什么在php中需要此语句
这个语句是如何用php命名的为什么在php中需要此语句,php,Php,这个语句是如何用php命名的 if($a) $b = "Some"; 我经常在小组项目中遇到这种说法。我不喜欢她,因为我不明白它是如何运作的。那么它是如何工作的呢?例如,php如何知道这个构造的结尾,因为z{}是空的?当有利于使用时: if($a) $b = "Some"; 比: 对不起,如果这个问题很愚蠢的话。但是我想理解为什么这个语句不需要{} 感谢对于单行语句,您不必提供大括号({}) 但为了更好的可读性和避免任何错误,如果以后可能需要添加多个语句,建议使用块语句 当您省略大
if($a)
$b = "Some";
我经常在小组项目中遇到这种说法。我不喜欢她,因为我不明白它是如何运作的。那么它是如何工作的呢?例如,php如何知道这个构造的结尾,因为z{}
是空的?当有利于使用时:
if($a)
$b = "Some";
比:
对不起,如果这个问题很愚蠢的话。但是我想理解为什么这个语句不需要{}
感谢对于单行语句,您不必提供大括号(
{}
)
但为了更好的可读性和避免任何错误,如果以后可能需要添加多个语句,建议使用块语句
当您省略大括号时,它将只将下一个语句视为条件体
if ($x) echo 'foo';
与
if ($x) { echo 'foo'; }
if($a) {
$b = "Some";
}
但请记住
if ($x)
echo 'foo';
echo 'bar';
将始终打印“bar”
内部情况则相反:if将只查看下一个表达式,但PHP将{}中的所有内容都视为单个“分组”表达式
其他控制语句(foreach等)也是如此。如果有多个
if
语句,您将遇到问题的噩梦。上述(不使用大括号)仅适用于第一组if
语句
第二件事是,如果您在代码中添加大括号
{….}
,则会在代码中添加可读性
,并且代码看起来是有组织的 if语句在其条件为true
时执行以下语句。以下语句可以是单个语句,也可以是与{}
组合在一起的一组语句。您可以使用{}
,即使没有,如果,它自己也做不了什么
// pretty useless, but valid
{
echo 'Foo';
echo 'Bar';
}
// valid, one statement following
if (true) echo 'Baz';
// valid, group of statements following
if (true) {
echo 'Foo';
echo 'Bar';
}
根据定义,if语句只读取它后面的一条语句。如果您有许多语句,您应该使用前面提到的{}
将它们分组为一个,这是单个If语句的缩写。只需提供更多信息:
if($a)
$b = "Some";
与
if ($x) { echo 'foo'; }
if($a) {
$b = "Some";
}
但请记住
if($a)
$b = "Some";
$c = "More";
类似于
if($a) {
$b = "Some";
}
$c = "More";
请尝试并测试此代码
$b = "testing";
if($b == "testing")
echo "This is if";
echo "This is another if";
echo "This is another";
echo "This is so on";
这里我只使用if
,所以我不需要定义范围或在if
条件下写大括号,我可以使用多条消息,在下面的代码中我使用else,也不需要定义范围或大括号。但是在中,如果有多行代码,你会混淆你自己的代码,其他程序员也会混淆
$a = "test";
if($a == "test")
echo "This is if";
else
echo "This is else";
但是,例如,如果我创建一个if语句,它在if
正文中包含一行消息,就像上面的代码一样,它将不会出现任何错误,但是如果我在if
正文中再添加一行代码或消息,它将返回错误
$a = "test";
if($a == "test")
echo "This is if";
echo "This is if 2";
else
echo "This is else";
所以我必须用大括号来表示if
这样的条件
$a = "test";
if($a == "test") {
echo "This is if";
echo "This is if 2";
} else
echo "This is else";
现在它不会返回错误,因为我在if
条件中使用了大括号。记住if
正文中的一行代码不会返回任何错误,但是if
条件中的第二行代码会返回错误。大括号将定义您的if
正文的范围,正如您在第三段代码中所看到的那样,我在else
中没有使用大括号,因为它有一行代码或消息。只是简写而已。我个人从来没有使用过这种方法,因为它会让其他开发人员感到困惑,因为他们不知道IF条件endsy你在没有学习基础知识的情况下开始编码了吗?@SalmanA,我用php编程已经有4年多了,但我以前没有使用过这种结构。因为这有时让我困惑。检查我(@user2727841)的答案。。。测试一下,你就会明白。