2015-08-14 77 views
1

我在一些仍在使用和运行的旧版PHP代码中遇到了这个问题。我找不到任何Google结果,并且从未见过它。 其他分号后的分号是怎么回事?PHP以分号结尾

if($placeholder_name=="###google_adwords_conversion###") 
{ 
    if(!$currentSiteIsLive) 
    { 
     return ""; 
    } 
    else; 
} 
else if($placeholder_name=="###google_visitor###") 
{ 
    if(!$currentSiteIsLive) 
    { 
     return ""; 
    } 
    else; 
} 
else; 
+6

没什么。这只是PHP中的一种不妥协和沮丧的编码风格。 –

+0

它什么都不做。只是一个NOP。 – Rizier123

+0

它就像'if(true);'和许多其他构造。这只是一种冗长的说“无所事事”的方式。也许编写它的人会有一个代码分析器,他们会怀疑if()没有别的东西,这就是编码器选择关闭分析器的方式。 –

回答

0

其基本上是说如果不是真的,那么不要做任何事情,你可以用花括号达到同样的效果。像这样:

else {}

0

它没有做任何事情。它只是告诉PHP,否则 - >什么也不做。我相信编写该代码的人认为如果陈述应该总是有其他陈述。

1

大括号被视为终止字符。它们用于包含复合语句块。所以最后不需要使用分号。

if { 
// code 
} 

如果你只有一条语句,你在最后加上一个分号。

if (true); // don't do anything 

我知道这很难看。