if(); 是什么意思? do,分号就在括号后面吗?

发布于 2024-11-13 06:03:54 字数 231 浏览 1 评论 0原文

碰巧,在编写一些 PHP 代码时,我不小心在 if 语句后面加上了分号 ; 。例如:

if($a > 1);
{
   ....
}

我认为 PHP 在这种情况下应该引发错误,但事实并非如此。这种语法应该有意义,我只是想知道它是什么。

据我所知,当添加 ; 时,条件似乎始终为真,但我完全不确定这就是含义。

It happens that, when writing some PHP code, I accidentally put a semicolon ; right after an if statement. For example:

if($a > 1);
{
   ....
}

I thought that PHP should raise an error in this case, but it is not. That kind of syntax should have a meaning, I'm just wondering what it is.

For what I could see the condition seems to be always true when the ; is added but I'm not sure at all this is the meaning.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

漫漫岁月 2024-11-20 06:03:54

单个 ; 可以被理解为“空语句”,

if($a > 1);
{
   ....
}

相当于

if($a > 1)
    ;        // execute an empty statement if $a > 1

// then execute the following block of code.
{
   ....
}

据我所知,当添加 ; 时,条件似乎始终为真

它只是看起来像这样,因为无论什么情况都会执行块if 语句。

A single ; can be read as an "empty statement" and

if($a > 1);
{
   ....
}

is equivalent to

if($a > 1)
    ;        // execute an empty statement if $a > 1

// then execute the following block of code.
{
   ....
}

For what I could see the condition seems to be always true when the ; is added

It only seems like it since the block is executed regardless of the if-statement.

快乐很简单 2024-11-20 06:03:54

添加分号实际上是在大括号之前结束 if 块。这不是真的,只是你在 if 中没有做任何事情。

如果没有大括号,请这样想:

if($a>1)
  echo "Yes";
echo "No";

执行 if 内第一个分号之前的所有操作。因此,在您的情况下,第一个分号之前没有任何内容,因此什么也没有发生。

Adding the semi-colon essentially ends the if block before the braces. It isn't true, it's just that you don't do anything in the if.

Think about it like this, if you don't have braces:

if($a>1)
  echo "Yes";
echo "No";

does everything before the first semi-colon inside the if. So in your case, there is nothing before the first semi-colon, so nothing happens.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文